LINUX.ORG.RU

>сделать официальные выводы.

пошел за барабанными палочками.

volh ★★
()

пошел за попкорном

anonymous
()

Пошёл за гранатомётом

Deleted
()
Ответ на: комментарий от anonymous

>> пошла в декретный отпуск

Это невозможно. Учёными давно доказано, что анонимусы не имеют пола, следовательно размножаться способны только почкованием. Простейшие одноклеточные анонимусы вообще только делением размножаются.

Deleted
()

ну вот, а потом будут говорить, что лисп - говно

anonymous
()

Ушел ещё за парой скобок. Кончились.

r_asian ★☆☆
()

Кто пошёл, сходите, заодно, за тем анонимусом.

mv ★★★★★
()

напрасно создание топега доверили таилганеру. у него плохая карма.

anonymous
()
Ответ на: комментарий от mv

Мопед не мой, я только объяву разместил.

tailgunner ★★★★★
() автор топика

А какие результаты должны быть представлены? Насколько я помню, дядя выступил с тезисом об отсутсвиии бинарных массивов в лиспе. Из чего был сделан вывод о полной его непригодности для использования в промышленности. Была предложена задача, традиционно решаемая более низкоуровневыми языками (допускающими манипуляции с указателями), однако лисп проявил себя здесь более чем достойно.

Sun-ch
()

Какие выводы могут быть на столь мелкой, вычислительной задаче? Вы б ещё 3D-игрушку на пыхпыхе писали, и делали бы вывод что пыхпых для хоумпажек не годится.

anonymous
()

Ну так что, где там скандальное разоблачение Лиспа? Очень хочется увидеть отчёт и графики. Или повёлся на поводу у придурка, который ссыт и прячется за спинами у толпы безликих анонимусов? ;)

mv ★★★★★
()
Ответ на: комментарий от mv

> Ну так что, где там скандальное разоблачение Лиспа? Очень хочется увидеть отчёт и графики.

Всем хочется :D

> Или повёлся на поводу у придурка, который ссыт и прячется

Этот "придурок" по крайней мере умеет держать себя в руках и не хамит в ответ на хамство ;)

Впрочем, даже если он не придет сюда, народу и так весело ;)

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Не, ребята, лисп - беда! Одних только скобочек скока! Заи.мучаешься считать. :)

vada ★★★★★
()
Ответ на: комментарий от tailgunner

> Этот "придурок" по крайней мере умеет держать себя в руках и не хамит в ответ на хамство ;)

По мне так лучше на йух открыто послать, чем с непомерным снобизмом продолжать пороть чушь.

mv ★★★★★
()
Ответ на: комментарий от tailgunner

> Этот "придурок" по крайней мере умеет держать себя в руках и не хамит в ответ на хамство ;)

Сомнительное достоинство. Чванливое, самоуверенное невежество какого либо говнюка вроде Ацюуовского - гораздо хуже, чем резкость и высокомерие умницы Ландау.

Вообще, люди неумные чаще тяготеют к подчёркнутой вежливости - так они компенсируют недостаток интеллекта, это просто защитная реакция. Когда его в очередной раз посылают (что неизбежно - чванливого дурака нельзя не послать) он начинает всем окружающим тыкать свою вежливость и "невозмутимость" как аргумент в пользу своей правоты. Презираю таких уродов. Нет ничего лучше абсолютной честности и открытости. Если бы все всегда говорили то, что думают, было бы лучше.

anonymous
()
Ответ на: комментарий от anonymous

>> Сомнительное достоинство. Чванливое, самоуверенное невежество какого либо говнюка вроде Ацюуовского - гораздо хуже, чем резкость и высокомерие умницы Ландау.

А что, Ацюковский все еще ставит опыты Майкельсона-Морли? Или его уже унесло эфирным ветром?

cathode
()
Ответ на: комментарий от tailgunner

>Этот "придурок" по крайней мере умеет держать себя в руках и не хамит в ответ на хамство ;)

Вообще интересно было бы рассмотреть мотивацию данного организма - зачем он вообще это все завел. Ему так хочется доказать, что лисп гавно и он так напряженно над этим работает, при чем не сравнительным анализом того, что он знает, а сравнением того, что он знает с тем, чего он не понимает. Си лисперы знают все - и выбрали лисп сознательно. Этот организм отвергает его бессознательно - (если увлечся Фрейдизмом - подсознательно:)) - из чего проистекает, что надо рассмотреть, что ему сниться и какое было детство:))) - но тот факт, что он убил столько сил, чтобы доказать, что то что он не знает ему не нужно - говорит кое-что о мотивации. Им движет страх - он видит как мир меняется, а новые школьники знают хаскель, тайп инференс и много других страшных слов, и ему позарез надо доказать, что он еще жив и что то что он осилить не может - вообще никому не надо. За снобизмом и вежливостью прячется маленький ребенок, которого (возвращаясь к Фрейду) в детстве не уважали, если он чего-то не знал и у него выработалась подсознательная необходимость принизить значение знаний, которыми обладают другие с целью удовлетворения комплекса.

Во.

r ★★★★★
()

>Знатокам Лиспа (3): the final showdown

Знатокам Java (3): the final slowdown

//пхыксэд

anonymous
()
Ответ на: комментарий от anonymous

> Чванливое, самоуверенное невежество какого либо говнюка вроде Ацюуовского - гораздо хуже, чем резкость и высокомерие умницы Ландау.

Это пример ложной альтернативы, анонимный брат (безотносительно личных качеств Ландау).

> Нет ничего лучше абсолютной честности и открытости. Если бы все всегда говорили то, что думают, было бы лучше.

"Движущиеся части в трущейся паре требуется смазывать, чтобы избежать износа. Уважение и формальная вежливость являются маской, которую носят люди, притирающиеся друг к другу. Часто люди молодые, не странствовавшие, наивные, простые натуры, склонны отвергать эти формальности как "пустые", "бессмысленные", даже "бесчестные" - и пренебрегать ими. Вне зависимости от того, насколько "чисты" их мотивы, они всегда бросают песок в машину, которая и так работает не слишком здорово." -- Р.Хайнлайн.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Это не огненными словами на каменных скрижалях написано. Под уважением и формальной вежливостью скоро заведётся равнодушие и трусость. Поэтому иногда встряска просто необходима :) К тому же, у молодых из цитаты есть свои взгляды на устройство машины.

mv ★★★★★
()
Ответ на: комментарий от anonymous

Вежливость, как и культура речи - продукт воспитания. А Ландау воспитания явно не хватало, вот он и вел себя как свинья, даже в отношении близких людей.

Sun-ch
()
Ответ на: комментарий от r

> подсознательная необходимость принизить значение знаний, которыми
> обладают другие с целью удовлетворения комплекса.


Для человека который владеет парой галер джавакодеров ваши тирады звучат несколько ханжески :) Чего же это вы LISP то не используете масово в каждом проекте :) ?

А полезность лиспа в качестве языка для образования никто и не ставит под сомнение - в образовательных целях чего только не используют. собственно даже ярлык есть "академический".


kernel ★★☆
()

Всем добрый вечер.

Огромное спасибо камраду tailgunner за инициацию топика. Приношу извинения всем зрителям за опоздание - мой режим несколько не соответствует общему. С другой стороны, публика уже порядочно разогрета и достигла нужной кондиции. :) Итак.

Исходный текст на C (отключен вывод результатов в файл): http://www.linux.org.ru/jump-message.jsp?msgid=3271707&cid=3279466
Исходный текст на LISP (взята последняя коллективная версия с инструкциями по компиляции и запуску): http://www.linux.org.ru/jump-message.jsp?msgid=3277883&cid=3282863

Методология тестирования. Тестирование проводилось на объёмах данных 10, 20, 40, 80, 160 и 320 мегабайт (результаты на графиках интерполированы). Платформа Linux 2.6.27, Pentium IV 1.8 GHz (x86/32). Перед каждым запуском производился сброс кешей (echo 3 > /proc/sys/vm/drop_caches). Оценка аллокации динамической памяти производилась при помощи valgrind в случае С и вызова (room) в случае LISP. Время учитывалось в смысле elapsed time (user+system). Методология приводится, дабы любой желающий скептик мог провести тестирование самостоятельно.

Результаты по времени расчётов:
http://s1.ipicture.ru/uploads/081127/vMOdAPU4Rf.png

Результаты по выделению памяти:
http://s2.ipicture.ru/uploads/081127/nYUVWtM1lV.png

anonymous
()
Ответ на: комментарий от kernel

> Для человека который владеет парой галер джавакодеров ваши тирады звучат несколько ханжески :)

o_0 ого! Мима:) Я плохой менеджер - не умею заставлять людей работать. Какое-то знаетели внутреннее убеждение, что они должны сами. Из этого проистекает недостаток - я лучше сам сделаю чем людей заствлаю:)

>Чего же это вы LISP то не используете масово в каждом проекте :) ?


Я уже приводил недостатки лиспа. Писать можно на любом языке - популярность их часто обусловлена совсем не техническими характеристиками. Следствие из популярности - развитость платформы. Например топичная скала реализована под JVM с интеграцией в жавой. Не самая лучшая vm - но она популярна. Одно дело быть в мире с окружающим миром понимая, что он гавно, другое дело утверждать что гавно - это правильно. В этом отличие подходов. На нашей галере мы на жабе пишем несколько отлично от общепринятого - приходящие гребцы удивлены. К стати у нас не галера - проектов очень мало , но большие и длинные, людей по пальцам. Сейчас активно занимаюсь скалой как альтернативой жабе - но до 2.7.2 у нее был плохой интерфейсинг параметрического полиморфизма в жабу - потому одно начинание пришлось засуспендить. Но дайте время.

>А полезность лиспа в качестве языка для образования никто и не ставит под сомнение - в образовательных целях чего только не используют


Здесь не были показаны лиспоспецифичные проблемы. Тут был тест имеющий одинаковые свойства для практически для любого отличного от С языка - потому наезд на LISP в этом смысле a) необоснованный b) дилетантский - потому я записался в защитники лиспа.

Много есть языков хороших и разных в данном случае на первом месте по интересу у меня скала, на втором эрланг (если скала не сможет его заменить), вялотекуще интересны хаскель и окамл/F# - но это без практического применения.

В контексте задачи лисп ничем не хуже питона или руби или жабы - это уж кто чего предпочитает. Просто лисп менее распространен. Это не значит, что он плохой.

Стоит заменить постановку задачи дополнив ее тем, что статистические формулы должны задаваться во внешнем файле пользователем (а не девелопером) - и смасштабоировать ее до большого проекта - вспомнить про время разработки, объем проекта и т.д. - как Си пролетит как фанера буквально перед всем.

Ну а приводить в качестве недостатка более высокий уровень программистов это...эээ.. именно для что аргумент для галеры - где умные не нужны - нужны дешевые, которых можно продать задорого на развес.

r ★★★★★
()
Ответ на: комментарий от anonymous

1. по-моему, до варианта den73 прозвучал более лучший вариант в другом топике
2. выложи архив с исходниками и Makefile. Чтобы по make lisp собирало лисповый вариант, по make c -- сишный, а по make test рисовало вот те красивые графики по патентованой методологии. "Чтобы каждый мог протестировать самостоятельно на своей машине" (тут какой-то make myconfig желателен, чтобы информацию о машине собирал, хотя бы cat /proc/cpuinfo / uname -a)

anonymous
()
Ответ на: комментарий от anonymous

да, может быть, желательно это всё завернуть в hg/git репозиторий, чтобы кто потом его клонировал и улучшил вариант исходников

anonymous
()
Ответ на: комментарий от anonymous

>Результаты по выделению памяти:

Как и было предсказано - паметепотребление - миф. Память кушается ровно одинаково.

r ★★★★★
()
Ответ на: комментарий от anonymous

С удовольствием. Но попрошу подождать некоторое время, прямо сейчас, к сожалению, не смогу на должном уровне заняться этим.

anonymous
()

Забыл привести версии компиляторов. GCC 4.3.2, SBCL 1.0.22.

anonymous
()
Ответ на: комментарий от r

> паметепотребление - миф. Память кушается ровно одинаково.

Скажем так - оверхэд является фиксированным. Не "ровно одинаково", но тоже достойно.

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от Sun-ch

> ~ 50 сек при 200 мб для лиспа? Странно, все приведенные здесь цифры были гораздо меньше.

3 секунды для 300 мб на 2.2ггц core2duo.

mv ★★★★★
()
Ответ на: комментарий от r

>Одно дело быть в мире с окружающим миром понимая, что он гавно, другое дело утверждать что гавно - это правильно. В этом отличие подходов.

Kein Mehrheit Fur Die Mitleid

anonymous
()
Ответ на: комментарий от mv

Даже 1.8, если диапазон для integer у summa задать. В сишной программе тип жёстко задан (uint64_t), в лиспе тоже можно не bignum-арифметику использовать.

mv ★★★★★
()
Ответ на: комментарий от mv

Я готов Вам поверить. Но абсолютные числа, без сравнения с числами для варианта на Си, смысла не имеют.

Возможно, Вы использовали другой вариант программы; напутали с коэффициентами; не сбрасывали кэш. Хотелось бы также взглянуть на загрузку ядер. Вряд ли Лисп самостоятельно, через libastral.so распараллеливает вычисления на ядра, но тем не менее.

Призываю Вас разобраться в этом. Мне самому интересны объективные данные, я вовсе не заинтересован в подтасовке, поэтому и привожу исходники и методологию, доступную для каждого.

anonymous
()
Ответ на: комментарий от r

> o_0 ого! Мима:) Я плохой менеджер - не умею заставлять людей работать.

Так я же не говорю что вы хороший надсмоторщик - я говорю что "владеет галерой" ;) Может у вас все добровольно гребут, без плеток :)

> Тут был тест имеющий одинаковые свойства для практически для любого.

> отличного от С языка - потому наезд на LISP в этом смысле a)

> необоснованный b) дилетантский - потому я записался в защитники

> лиспа.


Тут как всегда прицепились к первому слову, при чем сам "необоснованый" наезд был вызван многочисленныеми заявлениями spawn of lugovskoy о том что лисп заруливает ВСЕ в том числе С совсем и везде. А где проигрывает то пренебрежимо мало. По поводу лиспа не получается вменяемой дискусси не от необоснованых наездов а от того что большая часть лисперов в сети ведут себя как те самые приснопамятные задроты-неудачники с больной головой, гиганским чувством собственной важности и ненавистью к пользователям остальных языков - хрестоматийные суровые неадекваты.

>В контексте задачи лисп ничем не хуже питона или руби или жабы - это

>уж кто чего предпочитает. Просто лисп менее распространен. Это не

>значит, что он плохой.


Верно, не значит.

Но как бы на уме крутится что чего же он "такой ласковый да пригожий до сих пор всех не убил и один не остался"(C)Жихарь. Судя по тому что я читал про лисп такая задача ставилась в явной форме, более того в одной из ссылок с ЛОР один из титанов явно говорит что в соотв годы (по моему средина-начала 80-х) кипели флеймы буть здоров на эту тему. Агрессивные наезды лисперов на все и вся это можно сказать свойство языка :)


> Стоит заменить постановку задачи дополнив ее тем, что статистические

> формулы должны задаваться во внешнем файле пользователем (а не

> девелопером)


Хм, извращенное решение - tcc :)

> - и смасштабоировать ее до большого проекта - вспомнить

> про время разработки, объем проекта и т.д. - как Си пролетит как

> фанера буквально перед всем


А я кстати и не приверженец концепции "все должно быть на одном языке так как этот удобнее(тм)", это все к плюсистам и отмороженым явистам (это я не про вас, надеюсь). Cи вполне себе имеет свою значительную нишу, но написание standalone веб приложений и опять же stad-alone бизнес логики к ним не относитсмя. В составе гибрида - да. Например python+C. Или даже php+C :)

К тому-же С решает такие проблемы вызовом внешних библиотек, это принцип такой. Писать парсинг формул каждый раз самостоятельно это в общем бред. Если нет библиотек - пролетает, да. Но вот то что нету КОММЕРЧЕСКИХ библиотек линкуемых всюду для парсинга формул я просто не поверю. Уж больно популярная задача.

> Ну а приводить в качестве недостатка более высокий уровень

> программистов это...эээ.. именно для что аргумент для галеры - где

> умные не нужны - нужны дешевые, которых можно продать задорого на


Пока я вижу не градацию умный-глупый в этом споре. Я пока вижу градацию "Сурово-безумный неадекват" vs "звезд с неба не хватает". Все адекватные знатоки лиспов на проверку оказываются любителями и юзателями вместо лиспоподобных питона(ну или целой кучи других языков) :) И вы похоже точно также относитесь к этой подгруппе :)

PS

Флейм: Мое мнение что Лисп это такой ассемблер(для машкода специфической VM/железа). И кстати культурную роль он играет такую
же, как ассемблер или OS/2 в 90-е - провоцирует атские флеймы где всех "заруливают" писатели на ассемблере и боги те кто делает это под OS/2 :)

И как любой ассемблер выглядит чертовски близко к tty-мусору и прочему брейнфаку ;)

kernel ★★☆
()
Ответ на: комментарий от kernel

>Флейм: Мое мнение что Лисп это такой ассемблер(для машкода специфической VM/железа).

Мнение неправильное. Портабельный ассемблер это Java

Karapuz ★★★★★
()
Ответ на: комментарий от Karapuz

> Мнение неправильное.

Правильное. Там специально написано что "специфической VM" - в данном случае это lisp-байткод, если вы не поняли о чем я. Аппаратные реализации существовали.

kernel ★★☆
()
Ответ на: комментарий от kernel

>о том что лисп заруливает ВСЕ в том числе С совсем и везде.

Непоказательный тест это заявление врядли опровергнет :)

>Писать парсинг формул каждый раз самостоятельно это в общем бред.


Дело не в том что писать самостоятельно - просто для чистоты экперимента придется так делать, а иначе то что другой уже наелся кактусов и предоставил что-то остальным не показывает что кактусы стали бананами.

>И вы похоже точно также относитесь к этой подгруппе :)


Я не знаток лиспа - выбор стороны в споре я объяснил ранее.

r ★★★★★
()
Ответ на: комментарий от Karapuz

>Они разве не боятся, что ты их уволишь и не работают из-за страха с утроенной силой?

Да с чего вы взяли что я владелец галер? Я из народа:)

r ★★★★★
()
Ответ на: комментарий от r

> Я из народа:)

Прокурору объяснять будешь :D

tailgunner ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> Я готов Вам поверить. Но абсолютные числа, без сравнения с числами
> для варианта на Си, смысла не имеют.

C:
	Command being timed: "./arr-c"
	User time (seconds): 0.53
	System time (seconds): 0.43
	Percent of CPU this job got: 97%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.99
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 0
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 76928
	Voluntary context switches: 1
	Involuntary context switches: 76
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

Т.е. порядка 1-й секунды. Лисп мне, кстати, до 1.6 удалось разогнать
;)

> Возможно, Вы использовали другой вариант программы; 

Нет.

> напутали с коэффициентами; 

Нет.

> не сбрасывали кэш. 

Да это пофиг. 300мб на моей машине в дисковый кэш полностью входит, а
читают обе программы эти данные одинаково, через один sys_read().

> Хотелось бы также взглянуть на загрузку ядер. Вряд ли Лисп
> самостоятельно, через libastral.so распараллеливает вычисления на
> ядра, но тем не менее.

Обе программы на одном ядре выполняются.

> Призываю Вас разобраться в этом. Мне самому интересны объективные
> данные, я вовсе не заинтересован в подтасовке, поэтому и привожу
> исходники и методологию, доступную для каждого.

Вот сишное сложение массива:

  4006b8:       0f b6 04 13             movzbl (%rbx,%rdx,1),%eax
  4006bc:       48 83 c2 01             add    $0x1,%rdx
  4006c0:       48 01 c1                add    %rax,%rcx
  4006c3:       48 81 fa 00 00 c0 12    cmp    $0x12c00000,%rdx
  4006ca:       75 ec                   jne    4006b8 <main+0x68>

Вот лисповое:

;      850: L2:   488BC1           MOV RAX, RCX
;      853:       48C1F803         SAR RAX, 3
;      857:       480FB6440201     MOVZX RAX, BYTE PTR [RDX+RAX+1]
;      85D:       48C1E003         SHL RAX, 3
;      861:       4801C6           ADD RSI, RAX
;      864:       4883C108         ADD RCX, 8
;      868: L3:   4839D9           CMP RCX, RBX
;      86B:       7CE3             JL L2

Видно, что помимо самого сложения и обслуживания цикла есть две
лишних операции. В терминах ir2 sbcl они зовутся MOVE-TO-WORD/FIXNUM
и MOVE-FROM-WORD/FIXNUM. Возникают лишние операции от того, что в
лиспе нельзя напрямую задать тип "число в машинном виде", поэтому
компилятор мучается с вручную объявленным типом fixnum, которому
нужно boxing/unboxing делать. Если решить этот момент (сделать
нормальное выведение типа для функции сложения элементов массива
известного типа), то исчезнет 4-я команда.

Ещё реализация функции map для вектор оперирует с итератором
внутреннего типа index, который на самом деле fixnum. Если
оптимизировать этот момент, то исчезнут первые две команды.

Ещё мне не очень нравится в обоих вариантах использование movzx,
можно использовать add r8, m8 и adc rXX, 0. Но тут нужно сравнить оба
варианта, т.к. на интеловской архитектуре команды очень странно
работают.

А по вашему странному графику могу сказать, что в измерении есть
ошибка. Характер графика должен быть, как на графике с потреблением
памяти.

mv ★★★★★
()
Ответ на: комментарий от mv

> Т.е. порядка 1-й секунды. Лисп мне, кстати, до 1.6 удалось разогнать ;)

Ну то есть Лисп в 1.6 раз медленнее Си, или что?

tailgunner ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.