Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Тут такое панимашь...х2   Alexey Glotov   28 Feb 2001 04:53:11 
 Re: Тут такое панимашь...х2   Konstantin Tokar   01 Mar 2001 14:05:28 
Архивное /ru.cgi.perl/28423a9c4bf7.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional