|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Alexey Glotov 2:5093/55.8 28 Feb 2001 04:53:11 To : All Subject : Тут такое панимашь...х2 -------------------------------------------------------------------------------- http://webscript.ru А как же PHP4??? Stek пишет 07.02.2001 @ 15:21: [ ответить | новое ] А статейка не запоздала так на годик ?? Ощущение, что автор слабо знаком с PHP, да и то только со старой версией. Что за бред про то, что мы не можем напрямую обратиться к элементу массива... Кто тестирует быстродействие пустыми циклами ? Почему забыты затраты перла на форканье скрипта, на тормознутость cgi, на жручесть памяти мод перлом ... куда делись эти минусы, которые всегда вылезают первые ? Куда делся зендоской оптимайзер ? Автор пробовал когда нибудь сделать что-то серьезное на PHP и Perl - а потом перетащить это на сторонний хостинг ? PHP будет пахать всегда, так как все из одного флакона. А вот Perl - редко, ибо начинается "а нету этого модуля, и этого тоже нет". Делать без модулей, самим ?? Мне геморой не нужен, у меня пхп раз в десять удобней и быстрее для написания будет. Так что не советую обращать внимание на эту статью, а просто самим попробовать и то, и другое. Автор пишет 07.02.2001 @ 22:00: [ ответить | новое ] > А статейка не запоздала так на годик?? Именно год назад я ее и написал. > Ощущение, что автор слабо знаком с PHP, да и то только со старой версией. Автор в данный момент зарабатывает на жизнь чтением курсов по языку PHP3 в учебном центре Микроинформ (http://www.microinform.ru) и пишет книгу под названием "Основы PHP4" (объемом примерно 600 стр). Пара официальных исправлений в ядре PHP3 (см. changelist) - его рук дело. > Что за бред про то, что мы не можем напрямую обратиться к элементу массива... Имеется в виду то, что в PHP нет такого понятия, как "списковый контекст", как в Perl (или контекст массива, как в Си). Поэтому мы не можем использовать конструкцию (выражение_возвращающее_массив)[xxx], а также не можем использовать что-то типа FuncWhishReturnsObject()->property (последнее ужасно неудобно). > Кто тестирует быстродействие пустыми циклами ? Это - самый лучший способ проверить, на что способен интерпретатор. Да, PHP3, PHP4 и даже Perl - интерпретаторы, но с оптимизирующими трансляторами. О компиляции ни там, ни там речь и не идет (посколдку компиляция - это трансляция в машинный). > Почему забыты затраты перла на форканье скрипта, Затраты ядра ОС, а не Перла. Кстати, а Вы знаете, как работает fork()? Что такое страничное copy-on-write? rfork()? Таблица страниц ядра? И как Вы думаете, сколько раз в секунду система, работающая на P100, может вызвать fork()? (Ответ - около 20000, конечно, если потомки будут своевременно умирать.) > на тормознутость cgi, на жручесть памяти мод перлом ... И то, и другое проявляется только в случае больших нагрузок на сервер. Если скрипт большой, то зататы PHP и даже Perl на трансляцию кода оказываются в сотни раз больше (правда, Perl тут все-таки на порядок быстрее). У меня на руках проект как раз такого объема, написанный целиком на PHP, который в свое умер из-за тормозов PHP: http://www.enews.ru В ближайшее время планируется переписать его на PHP4 И дать ему новую жизнь. > куда делись эти минусы, которые всегда вылезают первые ? Первыми вылезают следующие минусы: - практически невозможно использовать PHP3 для работы с небольшим скриптом объемом, скажем, 150Кб - он парсится 6 секунда на PII-500; - трудно писать большие скрипты, если язык очень плохо поддерживает модульное программирование. > Куда делся зендоской оптимайзер ? По моим тестам, PHP4 действительно где-то в 10 раз превосходит по скорости PHP3, но все же отстает в 4 раз от Perl. А Вы никогда не копались в исходниках PHP4? ТОгда поясню на примере. Как истинный транслятор (которым якобы является zend) ВООБЩЕ может обрабатывать, например, такой код на PHP4: ------------------------------------------------------------------- $v=считать_из_файла_1_или_0; if($v==1) { function A() { echo "A!"; } } else { function A() { echo "B!"; } } A(); // вызывается та A(), которая находилась в нужном if-e ------------------------------------------------------------------- Так как то, какой именно if срабатывает, оказывается известным лишь А ЭТАПЕ ВЫПОЛЕИЯ, но не на этапе оптимизации, мы вынуждены заключить, что тело функции A() транслируется (компилируется, если выражаться неправильно) ВО ВРЕМЯ ВЫПОЛЕИЯ, а не во время трансляции кода! А? Что? е слышу! Где, Вы говорите, тут хваленый зендовский транслятор? Для примера, при использовании АСТОЯЩЕГО транслятора Perl аналогичный код: ------------------------------------------------------------------- $v=считать_из_файла_1_или_0; if($v==1) { sub A() { print "A!"; } } else { sub A() { print "B!"; } } A(); // вызывается та A(), которая находилась в нужном if-e ------------------------------------------------------------------- просто не откомпилируется - скажет, что A() определена дважды. > Автор пробовал когда нибудь сделать что-то серьезное на PHP и Perl - > а потом перетащить это на сторонний хостинг ? Только этим автор все время и занимается. По моим оценкам, Perl-скрипты переносятся лучше, чем скроиты на PHP. Иллюзия обратного возникла у Вас из-за того, что Перл при малейшей ошибке выдает Internal Server Error, а PHP в этом случае выводит сообщение прямо в браузер. Как уже говорилось, модуль WebOut полностью решает эту и многие другие возможности, заставляя все ошибки Perl направляться в браузер, аналогично PHP, и делая кучу дополнительных действий. > PHP будет пахать всегда, так как все из одного флакона. А вот Perl - редко, > ибо начинается "а нету этого модуля, и этого тоже нет". Вы, наверное, используете для хостинга компанию, берущую за услуги 0.24 (нет, 0.24 с половиной!) доллара в месяц. еудивително, что у них не установлены модули, которые уже по всему миру признаны стандартными. > Делать без модулей, самим?? Где Вы такое услышали? Вы в следующий раз потише - так и до инфаркта можно довести... ;-) > Мне геморой не нужен, у меня пхп раз в десять удобней и > быстрее для написания будет. Обратите внимание на слова "у меня". екоторые скрипты, действительно, гораздо удобнее писать на PHP, но сложные скрипты к ним не относятся (к моему глубокому сожалению). > Так что не советую обращать внимание на эту статью, еправильно. > а просто самим попробовать и то, и другое. А вот это - золотые слова. И последнее - несколько слов насчет PHP4. Он ГОРАЗДО лучше PHP3 и потихоньку приближается к Perl по возможностям (в частности, оператор ===, исправленный eval(), буферизация вывода и многое другое). Я не имею пока никаких сведений о том, можно ли на нем писать 150Кб скрипты, но примерно через полгода это станет ясно. PHP3 для этого использовать нельзя ОДОЗАЧО. Stek пишет 08.02.2001 @ 11:51: [ ответить | новое ] >> А статейка не запоздала так на годик?? >Именно год назад я ее и написал. А дата публикации "06.02.2001 @ 22:51" - почему нельзя указать что мол статья годовалой давности... но это так, в качестве разминки :) >Автор в данный момент зарабатывает на жизнь чтением курсов по языку PHP3 в учебном центре Микроинформ (http://www.microinform.ru) и пишет книгу под названием "Основы PHP4" (объемом примерно 600 стр). А почему не перл ??? И какой смысл читать про php3 когда четвертке минимум пол года ? А за патчи - снимаю шляпу. >> Кто тестирует быстродействие пустыми циклами ? >Это - самый лучший способ проверить, на что способен интерпретатор. Вау, крутизна. А вон по скорости "Hello word" если не ошибаюсь выигрывает масон перл... но на более он к сожалению не способен. >> Почему забыты затраты перла на форканье скрипта, >Затраты ядра ОС, а не Перла. Аааа, перл теперь без операционки живет... пойду проапгрейдюсь. >И как Вы думаете, сколько раз в секунду система, работающая на P100, может вызвать fork()? (Ответ - около 20000, конечно, если потомки будут своевременно умирать.) Stek рвет на себе волосы, еще ни разу не удалось ему достингуть такого быстродействия :) >> на тормознутость cgi, на жручесть памяти мод перлом ... >И то, и другое проявляется только в случае больших нагрузок на сервер. IP II 450 MHz / 256 RAM. В пиках до 300 запросов в секунду (связка PHP + MySQL) - все живет. Когда был перл (cgi-bin вариант) то все дохло уже при 50 запросах. емного помог мод перл, но памяти жрал.... фаст цги правда не успел опробовать. Далее про хостинг - а какие модули стандартные ??? Вот например мне надо с nntp работать... в перле для этого есть модуль, но у провайдера его нет. А в php это просто еще один файлик, так сказать оболочка для внутренних функций пхп (не очень верная формулировка, но так). А цена хостинга... ну нету у меня возможности взять выделенный сервер, нету. Плачу от 15$ до 50$ в месяц. И все таки я не понимаю, почему все время PHP3 вспоминается... ностальгия ? :) _______________________________________________________________________ *Email:djnicky@nm.ru* [Team DJ-Club] ...Take it Easy... All [Moderator of CHELNY.SGI] ICQ:106642304 --- F.I.P.S./32 v1.0r W95/NT [M] * Origin: Знание - сила. А сила есть - ума не надо. (2:5093/55.8) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/28423a9c4bf7.html, оценка из 5, голосов 10
|