Главная→Статьи→Компьютеры→Программирование→Программирование на PHP и Perl→Что быстрее: Perl или PHP
Что быстрее: Perl или PHP
Статьи→Компьютеры→Программирование→Программирование на PHP и Perl
Ответить на этот вопрос однозначно нельзя. Дело в том, что Perl существенно отличается от PHP. Первый — довольно продвинутый и мощный интерпретируемый язык, а второй создавался исключительно для работы в вебе. Поэтому, когда кто-то Вам скажет, что PHP круче Перла, пошлите его на три буквы. Эти языки сравнивают в неравных условиях.
PHP легче — это факт. При запуске демона httpd (веб-сервер Апаче) он сразу же подгружает интерпретатор. Поэтому при запросах к скриптам нет бессмысленных и ресурсоемких загрузок процессора. Скрипт сразу же идет на выполнение, поэтому и говорят, что PHP очень шустрый. И хотя при использовании PHP тратится дополнительная память (каждый потомок хватает модуль php), при большом количестве обращений мы получаем выигрыш в производительности.
Процесс выполнения Perl-скриптов в стандартном виде несколько иной. При обращении к такому скрипту, Апаче загружает интерпретатор, а тот выполняет код. При этом тратится довольно много памяти. Не менее 2 мегабайт на каждый процесс. Обычно от 4 до 6 мегабайт. Выходит, что каждый раз при обращении к скрипту сервер производит загрузку тяжелой программы — интерпретатора. Но это не значит, что Перл-скрипты выполняются медленнее. Это значит, что при работе с Perl сервер испытывает большую нагрузку.
При больших нагрузках получаем следующее: сервер, использующий PHP легче справляется с запросами и может обработать больше клиентов. В то время сервер с сайтами на Perl будет подтормаживать.
Ситуация легко разруливается следующим образом (mod_perl — убогий, я о нем говорить не буду): на сервер с Perl ставится прекрасный модуль fast_cgi (http://fastcgi.com). Он позволяет существенно снять нагрузку с сервера за счет того, что после первого запуска скрипт не выгружается из памяти, а ждет следующий запрос. При этом скрипт будет работать столько, сколько нужно, оставаясь в памяти. Никакой лишней нагрузки на ресурсы сервера. Та же идея, что лежит в основе PHP.
Простые CGI-скрипты отличаются от FastCGI-скриптов всего несколькими строчками да и структурой. Например, скрипт может при первом запуске соединиться с MySQL и постоянно держать это соединение. Для того, чтобы скрипт работал именно под управлением FastCGI вызывается библиотека FCGI. Она легко ставится под Linux или Unix. #!/usr/bin/perl use FCGI; my $request = FCGI::Request (); … Действия, выполняемые при инициализации скрипта (например, коннект к БД) … while ($request->Accept () >= 0) { … Основные действия, которые должен выполнять скрипт … } … Действия при завершении (редко нужно) …
При выполнении запросов скрипт как бы гоняется по циклу: ожидание — обработка — ожидание — обработка. В реале (под Linux или Unix) это спящий процесс, который находится в режиме Accept.
Если запросов очень много, то сервер может запустить еще копию процесса. Это жрет некоторое количество памяти, но в целом увеличивает производительность сервера и ведет к экономии ресурсов.
Вывод напрашивается сам собой. Кому нравится Php, пусть использует его и не обвиняют Perl. Связка Perl и FastCGI — лучший ответ на такие обвинения. При сложных задачах PHP уступает Perl на стадии выполнения кода, он выигрывает лишь в стадии загрузки. Но использование FastCGI сводит на нет это преимущество. Так что выбор между языками зависит от специфики задачи и уровня разработчика. Perl сложен для новичков, но позволяет решать огромный пласт задач помимо веб-направленных (например, работа в фоновом режиме и обеспечение работы сайта). PHP легок в освоении и удобен при создании разного рода веб-приложений.
РНР,
Программирование
11.08.2009, 288 просмотров.
Новости
23.03.2010 21:45:28
Qsoft запускает корпоративную версию SaaS-системы qTrack
Компания QSoft объявила о запуске платной корпоративной версии системы управления командной работой qTrack. Новая версия программного продукта позвляет повысить эффективность бизнеса любой проектной группы благодаря реализации технологии SaaS. Qsoft
18.03.2010 18:13:58
Общение в сети: Miranda IM v.0.8.17
Вышла новая версия популярного и очень удобного мессенджера Miranda IM, имеющего кроме возможностей ICQ от AOL, множество других примечательных черт, а также способного работать по большому количеству протоколов. Miranda
RSS
Архив "Новости" |
Статьи
20.10.2009 15:03:00
Закритий світ державних дач. Список мешканців "Конча-Заспи"
 Список мешканців державних дач у «Конча-Заспі» набагато більш представницький, ніж у «Пущі-Водиці», про яку «Українська правда» писала в попередній публікації.
Саме тут, за подвійною огорожею по Старообухівській трасі, розташована резиденція президента Ющенка. Тут же стоять маєтки, передані в пожиттєве користування колишнім президентам Кравчуку і Кучмі, а також чинному спікеру Володимиру Литвину. Выборы
15.10.2009 20:30:17
Агітаційна міфологія
 Всі кандидати однозначно виступають за порядок, але жоден не пропонує і ніколи не пропонував конкретного плану дій. В жодного політика немає платформи, є тільки великий спіч на тему процвітання, який чомусь називають «програмою». Выборы
15.10.2009 15:03:17
Закритий світ державних дач. Список мешканців "Пуща-Водиці"
 Державні дачі в «Конча-Заспі» та «Пуща-Водиці» – чи не найбільш засекречені об’єкти в Україні, що управляються з секретаріату президента. Перелік самих мешканців цих територій за залізним парканом досі оберігається немов державна таємниця. Выборы
RSS
Архив "Статьи" |
|
|
Поиск на портале b.cv.ua
|