Что быстрее, веб-страницы python или веб-страницы php?

Что быстрее, веб-страницы python или веб-страницы php?

кто-нибудь знает, как скорость пилонов(или любой другой фреймворк) сравнивается с аналогичным веб-сайтом, сделанным с php?

Я знаю, что обслуживание базовой веб-страницы python через cgi медленнее, чем php из-за его длительного запуска каждый раз.

Мне нравится использовать пилоны, и я бы все равно использовал его, если бы он был медленнее php. Но если пилоны были быстрее php, я мог бы, надеюсь, в конечном итоге убедить мой работодатель позволит мне преобразовать сайт в пилоны.

11 ответов


похоже, вы не хотите сравнивать эти два языки, а что вы хотите сравнить два веб-систем.

Это сложно, потому что есть много переменных.

например, веб-приложения Python могут воспользоваться mod_wsgi чтобы поговорить с веб-серверами, что быстрее, чем любой из типичных способов, которыми PHP разговаривает с веб-серверами (даже mod_php заканчивается медленнее, если вы используете Apache, потому что Apache можно использовать только Prefork MPM с mod_php, а не многопоточный MPM, как рабочий).

существует также проблема компиляции кода. Как известно, в Python компилируется просто-в-время байт-код (.pyc files), когда файл запускается каждый раз, когда файл изменяется. Поэтому после первого запуска файла Python шаг компиляции пропускается, и интерпретатор Python просто извлекает предварительно скомпилированный файл .файл pyc. Из-за этого можно утверждать, что Python имеет собственное преимущество перед PHP. Тем не менее, оптимизаторы и системы кэширования могут быть установлены для веб-сайтов PHP (мой любимый eAccelerator) для того же эффекта.

В общем, существует достаточно инструментов, так что один может в значительной степени сделать все, что может сделать другой. Конечно, как уже упоминали другие, в бизнес-кейсе есть не только скорость переключения языков. У нас есть приложение, написанное в oCaml на моем текущем работодателе, что оказалось ошибкой, потому что оригинальный автор ушел из компании, и больше никто не хочет ее трогать. Аналогично, PHP-веб-сообщество намного больше, чем Python-веб-сообщество; услуги хостинга веб-сайтов с большей вероятностью предлагают поддержку PHP, чем поддержку Python; и т. д.

Но вернемся к скорости. Вы должны понимать, что вопрос скорости здесь включает в себя много движущихся частей. К счастью, многие из этих частей могут быть независимо оптимизированы, предоставляя вам различные возможности для повышения производительности.


нет смысла пытаться убедить вашего работодателя перенести с PHP на Python, особенно для существующей системы, что, как я думаю, вы подразумевали в своем вопросе.

причина этого в том, что у вас уже есть (предположительно) рабочая система с существующими инвестициями времени и усилий (и опыта). Отказаться от этого в пользу тривиального выигрыша в производительности (не то, что я утверждаю, что он будет) было бы глупо, и ни один менеджер, стоящий его соли, не должен одобрить его.

Он также может создать проблемы с ремонтопригодностью, в зависимости от того, кто еще должен работать с системой, и их опыт работы с Python.


Я бы предположил, что PHP (>5.5) быстрее и надежнее для сложных веб-приложений, потому что он оптимизирован для сценариев веб-сайтов.

многие из критериев, которые вы найдете в сети только для того, чтобы доказать, что язык выступает лучше. Но вы не можете сравнить 2 языка с математической задачей, выполняемой X-times. Для реального бенчмарка вам нужны две сопоставимые платформы с сотнями классов / файлов в веб-приложении под управлением 100 клиентов одновременно.


PHP и Python достаточно похожи, чтобы не warrent какого-либо переключения.

любое улучшение производительности, которое вы можете получить от перехода с одного языка на другой, будет значительно превосходить оружие, просто не тратя деньги на преобразование кода (Вы не кодируете бесплатно?) и просто купить больше оборудования.


Это примерно то же самое. Разница не должна быть достаточно большой, чтобы быть причиной выбора того или другого. Не пытайтесь сравнить их, написав свои собственные крошечные бенчмарки ("hello world"), потому что у вас, вероятно, не будет результатов, которые являются репрезентативными для реального веб-сайта, генерирующего более сложную страницу.


Если он не сломался, не исправляйте его.

просто написать быстрый тест, но имейте в виду, что каждый язык будет быстрее с определенными функциями, то другой.


Проверьте языки программирования shootout:

http://dada.perl.it/shootout/


вам нужно иметь возможность сделать бизнес-кейс для переключения, а не просто "это быстрее". Если сайт, построенный на технологии B, стоит на 20% больше времени разработчика для обслуживания в течение заданного периода (скажем, 3 лет), вероятно, было бы дешевле добавить другой веб-сервер в систему, использующую технологию A, чтобы преодолеть разрыв в производительности.

просто говорю :" мы должны переключиться на технологию B, потому что технология B быстрее!" не работает.

Так как Python гораздо менее вездесущий, чем PHP, я не удивлюсь, если хостинг, разработчик и другие расходы на его обслуживание (долгосрочные) будут соответствовать этому сценарию.


организация IS не будет задумываться об этом, если доступность не станет проблемой.

Если это так, посмотрите на репликацию, балансировку нагрузки и много ОЗУ.


единственный правильный ответ - "Это зависит". Есть много переменных, которые могут повлиять на производительность, и вы можете оптимизировать многие вещи, в любой ситуации.


Мне пришлось вернуться к веб-разработке на моей новой работе, и, если бы не пилоны/Python, возможно, я бы предпочел жить в джунглях :) по моему субъективному мнению, PHP для детского сада, я сделал это на своем 3-м году uni и, я считаю, многие уважающие себя (или переоценивающие) инженеры-программисты не захотят беспокоиться о PHP-коде.

Почему мои работодатели согласились? Мы (команда) просто перешли на Python, и им нечего было сказать. Сайт по-прежнему есть и будет PHP, но мы разрабатываем и другие приложения, в том числе web, на Python. Преимущества пилонов? Вы можете интегрировать свои библиотеки python в веб-приложение, и это, imho, огромное преимущество.

Что касается производительности, у нас все еще есть проблемы.