Previous Entry Share Next Entry
2016-01

любая статистика – лженаука

…когда она не является обьективной.

вот тут: http://fprog.ru/2010/issue4/practice-fp-4-screen.pdf , точнее, http://fprog.ru/2010/issue4/vitaly-mayatskikh-lisp-abstractions-on-steroids/ есть интересная попытка показать, что программы на CL могут работать быстрее, чем на других языках.
не знаю, насколько зффективен приведенный LISP-код автора, но вот сравнительные бенчмарки, извините, ни в какие ворота не лезут.

http://cd-riper.livejournal.com/258002.html – тут хорошо раскрыта часть огрехов, допущенных при их составлении

Резюмируя: сравнивать можно ТОЛЬКО код одного (высокого) качества, в сходных сценариях. А указанные в статье расклады тянут разве что на “ой, я попробовал и на других языках, я их в первый раз вижу, у меня получилась лажа, из-за чего бы зто? конечно из-за языка! ведь в моем любимом языке все шикарно работает!”

Benchmarks are not for programmers. They are for marketing guys.

А вообще, статья была про то, что CL можно и нужно компилировать. И что существуют довольно практичные инструменты, которые позволяют его реально использовать. Но, вот пример выбран, мягко скажем, неудачно :)

http://community.livejournal.com/fprog/7453.html собственно, тут можно присоединиться к срачу обсуждению :)


  • 1
wizzard0 February 26th, 2010
Намного более вменяемый бенчмарк, да.

Но и тут, например, C# меряют на Mono, а разница даже между майкрософтовскими рантаймами разных версий бывает в разы, как в плюс, так и в минус.

love5an February 27th, 2010
там большинство тестов для СL написаны очень неграмотно(о чем, собственно, как и видно там, предупреждает компилятор)

wizzard0 February 27th, 2010
Не исключено. Я к тому, что там более совершенные методы измерения все-таки.

clayrat February 26th, 2010
да всё можно компилировать, футамура же

wizzard0 February 26th, 2010
Ну журнал же о практическом применении все-таки :)

clayrat February 26th, 2010
тогда проутюжить сверху частичным вычислителем :D

kunaifusu February 27th, 2010
SBCL действительно серьезный компилятор и пинками (declare и the) его можно заставить генерить оптимальный код для х86 (конечно он не генерит SSE и прочия новомодныя штуки), он все равно сольет настоящему компилятору потому что он не может инлайнить и не может возвращать unboxed значения. Так что зарулить всякие явы/бейсики без проблем. А вот у опровергающего чувака С++ медленее бейсика получилсо - вор у вора дубинку украл.

mr_aleph February 27th, 2010
java hater detected.

ну да ладно, геймдевщикам можно...

kunaifusu February 27th, 2010
Мне просто смешно, как жабист или кто он там кривыми рученками ("нету SBCL для винды") крошит батон на компилятор, который был в сто раз лучше сановского поделья еще тогда, когда самой Сан и в проекте не было.

mr_aleph February 27th, 2010
каждый молодец среди овец,

во-первых, кто сказал, что он остался лучшим?

http://shootout.alioth.debian.org/u32/lisp.php

как-то не подтверждает эту гипотезу =)

во-вторых, кроме Sun JVM есть у другие =)

Edited at 2010-02-27 11:07 am (UTC)

kunaifusu February 27th, 2010
Если он 30 лет назад был лучше чем ява сейчас, то что может измениться? Оракл поменяет спеки ява машины?

mr_aleph February 27th, 2010
тридцать лет назад еще не с чем было сравнивать.

вы не словами трясите, вы реальными бечами трясите =)

спеки как бы побоку на самом деле, есть конечно неприятные места, но это не мешает на shootaout джавке дрюкать вашего любимца с более крутой спекой

kunaifusu February 27th, 2010
А чего трясти-то, жабисты смотрят на бенчи даже на этом дебиан-шутаут как кошка в телевизор - "жаба не тормозит, быстрее С++" =)
Опять же, реальные бенчи разные бывают, хотите сравним жабу с чем угодно на сортировке массива массивов unsigned bytes? (например массива md5s?)

mr_aleph February 27th, 2010
давайте демагогию не разводить =) С++ тут как бы и не причем. однако, очевидно, что в ряде случаев, Java способна не уступить в скорости С++. Особенно, если код на С++ не причесывать в плане кэша, аллокаций и т.д. а писать как пишется большинству прикладного софта.

"лучше" что означает? в моём понимании оно означает "лучше во всем"... а цифры к сожалению показывают обратное. если "лучше в чем-то", то это нужно оговаривать дополнительно.

давайте сравним, почему бы не сравнить =) с SBCL тем же самым.

kunaifusu February 27th, 2010
Как не при чем? Вот вы же и пишете то же самое, сразу же забыв про шутаут, про который писали всего несколько минут назад.

Цифры там с потолка, код в бенчмарках кривой для всех языков, там C и С++ различаются в 8 раз, как его всерьез можно воспринимать?
Судя по вашему оптимизму в отношении сравнений и уверености в том, что спеки ява-машины не при чем вы даже не понимаете почему ява отсосет, какой смысл давать вам урок, если вы не понимаете темы урока?

mr_aleph February 27th, 2010
Заметим, что вы продолжаете трясти словами (балаболить) не извлекая из кармана ни цифр, ни "прямого кода" =)

Не причем, потому что разговор сейчас о SBCL vs. Java, а не Java vs. весь остальной мир. Я вам еще раз повторю: вы можете Сями сделать Джавку на ряде задач, я этого не отрицаю. Но это никак не подтвердит ваш изначальный тезис о том, что SBCL лучше чем современные Жабка-машины. Так что пруфпик или небыло =)

Я отнюдь не оптимистичен в отношении сравнений (есть ложь, наглая ложь и бенчмарки), однако руководствуюсь следующим предположением о структуре мироздания: когда на shootout появляется плохой для языка X бенчмарк языко-X-дрочеры со всего миру бегут туда и пытаются этот бенч переписать так, чтобы он не просасывал. Если не переписали --- то значит либо языкодрочеры поддельные (либо вымерли все), либо переписать низзя.

Кстати 8 раз для сей и плюсиков я не нашел. Вы гражданин соврамши. Максимум в 2 раза. Но там код в бенче какой-то реально ушлепско-бустовой...

Более того, я нигде не говорил, что JLS/JVMS все такие белые и пушистые и нигде не препятствуют оптимизациям. Протрите глаза и давайте уже не балабольством заниматься, а реальными пиписьками помереемся? Например, возьмите и разгоните SBCLный бенч, чтобы он жабке по самые помидоры вогнал... Только не словеса плетите. Таких мастеров по всему свету много...

kunaifusu February 27th, 2010
Еще раз, разговор был о бенчмарках на сайте shootout.alioth.debian.org, вы игнорируете те, где ява сосет за то принимаете за откровение, где ява выигрывает. Мой пойнт был в том, что с такой позицей вам никакие цифры ничего никогда не докажут, кроме того, во что вы хотите верить.

когда на shootout появляется плохой для языка X бенчмарк языко-X-дрочеры

Вы правы. Вот только лисп-дрочеров или С++-дрочеров или С-дрочеров я не видел. Поэтому они не появляются.
Кстати 8 раз для сей и плюсиков я не нашел.
http://shootout.alioth.debian.org/u32/cpp.php

k-nucleotide 1/4 ± ±
fasta 2× 2× ±
regex-dna 2× 1/3 ±

C++ быстрее С в четыре раза на одном и медленее в 2 раза на другом бенчмарке.
Пиписьками меряйтесь с кем-нибудь другим, у меня пиписька маленькая, всяко меньше чем ваша.

mr_aleph February 27th, 2010
>> вы игнорируете те, где ява сосет

кто вам сказал? где я такое сказал? я же попросил вас протереть глаза =)

>> принимаете за откровение, где ява выигрывает.

опять же, где я такое сказал? что за привычка приписывать другим людям какое-то странное поведение?

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

ну вы просто жжоте! я себя почувствовал участником религиозного спора... не ожидал честное слово. вы ведь даже не знаете во что я верю --- имхо создали себя какой-то иллюзорный образ SBCL-ненавидящего Java-дрочера и его атакуете, как Дон Кихот ветряную мельницу.

>> C++ быстрее С в четыре раза на одном и медленее в 2 раза на другом бенчмарке.

вижу 2x, 2x, 1/4x не вижу 8x =)

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

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



kunaifusu February 27th, 2010
кто вам сказал? где я такое сказал? я же попросил вас протереть глаза =)
однако, очевидно, что в ряде случаев, Java способна не уступить в скорости С++.
У меня с глазами, очевидно, лучше обстоят дела, чем у вас с памятью.

вижу 2x, 2x, 1/4x не вижу 8x =)
Это бывает, явских "программистов" выносят на интервью вопросмами об умножении на 2, "сколько будет 2 в 8?" и готов, профессиональный hazard.

mr_aleph February 27th, 2010
>> У меня с глазами, очевидно, лучше обстоят дела, чем у вас с памятью.

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

>>Это бывает, явских "программистов" выносят на интервью вопросмами об умножении на 2, "сколько будет 2 в 8?" и готов, профессиональный hazard.

Мне очень интересно как из 2x, 2x и 1/4x с помощью простых арифметических действий получить в 8x так, чтобы при этом сохранилась адекватная интерпретация этой формулы. Единственный вариант, который я видел это перемножение лучшего и худщего^-1 случая. Но придать этой формуле хоть какой-то физический смысл я затруднился.

Edited at 2010-02-27 12:36 pm (UTC)

kunaifusu February 27th, 2010
Ну вот, а вы хотите чтобы я вам что-то объяснял про компиляторы, когда вы не можете понять смысла, того что один язык одновременно быстрее другого в четыре раза на одном бенчмарке и медленее в два раза на другом?

(Deleted comment)
mr_aleph February 27th, 2010
ой как же до вас трудно доходит: я не хочу чтобы вы мне что-то объясняли про компиляторы, я хочу увидеть разогнанный вами бенч. a little less conversation, a little more action please как пел старина элвис...

формулу давайте, как вы из 2 и 4 делаете восемь и при этом сохраняете хоть какой-то смысл =)

_zerg February 28th, 2010
Ну он старый тролль.

(Deleted comment)
(Deleted comment)
(Deleted comment)
(Deleted comment)
kunaifusu February 27th, 2010
Эт да, извините, не всем дано железными фактками так лаконично поставить на место идиота, как вам.

love5an February 27th, 2010
Писать 'LISP' - неправильно, неграмотно, особенно по отношению к CL.

wizzard0 February 27th, 2010
поменял местами

  • 1
?

Log in

No account? Create an account