Я отвечу всем сразу, хорошо? 1) Threads
1.1) Треды сегодня - способ утилизировать ресурсы многоядерного процессора. Хорошие треды позволяют утилизировать и ресурсы многопроцессорной системы. Программеры, которые хорошо умеют это делать без тредов, на рынке широко не представлены. 1.2) Треды должны обеспечивать легкую межпоточную коммуникацию. В этом смысле в перле тредов нет. prefork и прочие многопроцессные модели требуют привлечение для межпоточной коммуникации SYSV IPC, который убог, с одной стороны, и избыточно сложен с другой. 2) JIT 2.1) При прочих равных JIT реально повышает производительность. Соответственно, современная VM должна его иметь. С чем тут спорить - не понимаю. 2.2) Если JIT нет - работу по выявлению узких мест и их переписыванию на уровень пониже приходится делать человеку. Именно так JIT связан с удешевлением разработки. 2.3) JIT способен производить оптимизацию, которую человеку никогда не осилить. Например, он может определить, что в 99% случаев некий цикл завершается за три итерации, и развернуть его в плоский код. 3) Sampling Profiler 3.1) Семплирующий профайлер позволяет изучать прямо сейчас тормозящий боевой код. Другого способа делать это задешево я не знаю. А вы? 3.1.1) Пока вы разрабатываете - семплирующий профайлер вам не нужен. А вот когда у вас появляется потребность в дебаге кода, который тормозит только на боевом трафике, и то не всегда - вот тогда вы начинаете искать средства. Проблема программеров в том, что им редко приходится иметь дело с эксплуатацией. 3.2) VM перла не предоставляет доступа к перловому стеку вызовов. Поэтому системного уровня профайлер оказывается бесполезен. 4) Язык perl мне нравится. Больше других, наверное. Но! 4.1) С точки зрения эксплуатации perl - не язык, а его VM. Со всеми вытекающими. 4.2) perl - это CPAN. А CPAN завязан на особенности реализации так плотно, что переписать язык на современную VM нереально. Вон, есть V8. Был бы perl под V8 - я бы только им и пользовался для всего. Но - нет, и не будет. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
