In <Pine.LNX.3.96.981029160617.17369A-100000@cs.cracksoft.kiev.ua> Yuri
Kuzmenko (yuri@cs.liga.kiev.ua) wrote:
YK> Буквально на днях занялся mod_perl'ом. Именно модулем к Апачу.
YK> Сам Перл предпочитаю всему остальному уже давно.
YK> Но web-интерфейсы до сих пор клепал на php3.
YK> Так вот, вопрос - есть ли хоть какой-нибудь, малейший повод для того,
YK> чтобы не отказываться полностью от php3. Какие у него есть преимущества?
Скорость работы :-)) php3 -- чисто интерпретируемый язык; perl -- компилируемый
язык. Отсюда все их преимущества и недостатки. PHP3 имеет существенно меньший
overhead при выполнении простых скриптов, но если у тебя в скрипте есть
какой-нибудь for или while то он так и будет 10'000 раз интерпретировать
содержимое твоего цикла. Но если тебе нужно просто устроить редирект с
80 порта на 8100 или 8101 или ... в зависимости от выбранного charset'а,
то PHP3 будет намного дешевле, чем mod_perl (а уж тем более eperl через
mod_perl :-). Частично это компенсируется тем, что раз откомпилированные модули
mod_perl будет держать в памяти, но это же самое поведение обозначает, что
mod_perl'у требуется МНОГО больше памяти для жизни если у тебя все страницы
на site динамические. Впрочем есть возможность и лень учить PHP3 то проблема
решается добавлением лишнего проца/памяти -- разница в скорости здесь не в разы,
а на десятки процентов (при условии, что у тебя нормальный *nix)... Ну и конечно
одновременно живущие в памяти mod_php3 и mod_perl требуют лишний мег виртуалки
и кил 300 -- реальной памяти примерно (то есть использовать mod_php3 и mod_perl
одновременно имеет смысл тогда, когда у тебя PHP-шных страниц будет не одна-две,
а действительно много -- все это опять же в предположении нормального *nix'а
типа Linux'а или *BSD).
YK> И ещё, уже в топик: это нормально - то, что все *.pl на сервере я должен
YK> делать chmod +x? Сам скрипт всё равно выполняется by httpd_modperl, т.е.
YK> без запуска чего-либо внешнего. Но правильно ли это - мне непонятно. ;-)
Так устроен mod_perl :-))
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =