[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