[Moscow.pm] Сравнение языков
Анатолий Гришаев
0body0 на rambler.ru
Чт Фев 12 02:09:45 PST 2015
12.02.2015 12:00, Daniel Podolsky пишет:
>> А почему не реалистично сравнивать надо соответственно
> потому, что противоречит всему личному опыту
Про какой личный опыт ты говоришь?
Я говорю про свой когда некоторое время назад я поспорил с
профессиональным сишником, что на задаче web server + возможно + база
С и perl в плане производительности одинаково.
Мы написали по программе он на С, а я на Perl.
Получилось одинаково с разницей ~5-10%.
Причем он не поверил и продолжил её оптимизировать и угробил кучу
времени но улучшить результат сильно у него не получилось.
>> Например там Go обгоняет mojolicious, это треды, а plack это асинхронщина.
> и?
А когда я переписал свою перловую программу на async я получил
существенный прирост "попугаев" и показав своему оппоненту
программу и результаты спор выиграл.
>
>> Что доказывает, что язык на быстродействие оказывает минимальное влияние.
> а что Вы называете "языком"?
А вы можете запустить java без jvm?
А для чего нужно разделять язык и jvm на которой оно исполняется?
Вы можете показать как запустить Perl на jvm? или java на pvm?
В perl есть такая штука как XS и если в программе есть узкое место можно
переписать эту маленькую часть получить большой выигрыш
производительности.
И это на 100% работает, а данном случае имееть более 3000 "попугаев" это
явный оверкилл для подавляющего числа проэктов.
А для AnyEvent этого может даже не понадобиться.
Скорее всего Вы упретесь раньше в базу, в архитектуру, в сеть гораздо
раньше, чем в производительность Perl как языка и его pvm.
>
> vm, на которой программа исполняется - вот что оказывает максимальное влияние.
>
> можно ли vm отделить от языка? (jvm -можно)
А какой опыт? Всякие вычисления я проделываю через XS и мне
необходимость в этом возникает гораздо гораздо реже, чем мне хочется.
А переплюнуть XS с помощью jvm уже не получиться.
А если хочеться острых ощущений в Perl есть возможность переопределить
все операции на уровне расширения и это почти тривиально.
Т.е. можно для перла написать свою pvm, если хочется.
А вы можете написать свою jvm для java, чтобы это работало и было быстро?
Подробная информация о списке рассылки Moscow-pm