[Moscow.pm] Запросы без ответа

Daniel Podolsky onokonem на gmail.com
Вс Апр 20 04:09:59 PDT 2014


Я отвечу всем сразу, хорошо?

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