[Moscow.pm] Сравнение языков

Dmitry Smal mialinx на gmail.com
Чт Фев 12 02:48:53 PST 2015


Ну если у нас perl работает на С (XS) web-сервере,  использует XS 
драйвер для доступа в базу, не делает ничего сложно и не выделяет память..
Тогда да. Взять параметр из Plack::Request  и  приклеить его к SQL 
запросу - дают те самые 5-10%.

On 02/12/2015 01:09 PM, Анатолий Гришаев wrote:
> 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