Что быстрее: веб-страницы на Python или веб-страницы на PHP?
Кто-нибудь знает, как скорость пилонов (или любых других фреймворков) сравнивается с аналогичным веб-сайтом, созданным с помощью php?
Я знаю, что обслуживание базовой веб-страницы python через cgi медленнее, чем php, из-за того, что он каждый раз долго запускается.
Мне нравится использовать пилоны, и я бы все равно использовал его, если бы он был медленнее, чем php. Но если бы пилоны были быстрее, чем php, я мог бы, надеюсь, в конце концов убедить своего работодателя позволить мне преобразовать сайт в пилоны.






Если он не сломан, не чините его.
Просто напишите быстрый тест, но имейте в виду, что каждый язык будет быстрее выполнять определенные функции, чем другой.
Единственно правильный ответ: «Это зависит от обстоятельств». Существует множество переменных, которые могут повлиять на производительность, и вы можете оптимизировать многие вещи в любой ситуации.
Вы должны иметь возможность обосновать необходимость переключения, а не просто сказать, что «это быстрее». Если сайт, построенный на технологии B, стоит на 20% больше времени разработчика на обслуживание в течение установленного периода (скажем, 3 года), вероятно, будет дешевле добавить еще один веб-сервер в систему, на которой работает технология A, чтобы преодолеть разрыв в производительности.
Просто сказать «мы должны переключиться на технологию B, потому что технология B - это Быстрее!» на самом деле не работает.
Поскольку Python гораздо менее распространен, чем PHP, я не удивлюсь, если расходы на хостинг, разработку и другие расходы на его обслуживание (в долгосрочной перспективе) будут соответствовать этому сценарию.
Примерно то же самое. Разница не должна быть достаточно большой, чтобы быть причиной выбора того или другого. Не пытайтесь сравнивать их, написав свои собственные крошечные тесты ("hello world"), потому что вы, вероятно, не получите результатов, которые репрезентативны для реального веб-сайта, генерирующего более сложную страницу.
PHP и Python достаточно похожи, чтобы не требовать переключения.
Любое улучшение производительности, которое вы могли бы получить при переходе с одного языка на другой, было бы значительно превзойдено, если просто не тратить деньги на преобразование кода (вы ведь не пишете бесплатно, верно?) И просто купите больше оборудования.
Нет смысла пытаться убедить вашего работодателя перейти с PHP на Python, особенно для существующей системы, что, как я думаю, вы подразумевали в своем вопросе.
Причина этого в том, что у вас уже есть (предположительно) работающая система с вложенными затратами времени и усилий (и опыта). Отказаться от этого в пользу тривиального прироста производительности (не то чтобы я утверждаю, что он был бы) было бы глупо, и ни один достойный менеджер не должен одобрять это.
Это также может создать проблему с ремонтопригодностью, в зависимости от того, кто еще должен работать с системой, и их опыта работы с Python.
Похоже, вы не хотите сравнивать два языки, а хотите сравнить два веб-системы.
Это сложно, потому что здесь задействовано много переменных.
Например, веб-приложения Python могут использовать mod_wsgi для связи с веб-серверами, что быстрее, чем любой из типичных способов взаимодействия PHP с веб-серверами (даже mod_php оказывается медленнее, если вы используете Apache, потому что Apache может только используйте Prefork MPM с mod_php вместо многопоточного MPM, такого как Worker).
Также существует проблема компиляции кода. Как вы знаете, Python компилируется точно вовремя в байтовый код (файлы .pyc), когда файл запускается каждый раз, когда файл изменяется. Поэтому после первого запуска файла Python этап компиляции пропускается, и интерпретатор Python просто извлекает предварительно скомпилированный файл .pyc. Из-за этого можно утверждать, что Python имеет собственное преимущество перед PHP. Однако оптимизаторы и системы кеширования могут быть установлены для веб-сайтов PHP (мой любимый - eAccelerator) почти с таким же эффектом.
В общем, существует достаточно инструментов, так что один может делать почти все, что может сделать другой. Конечно, как отмечали другие, в бизнес-модели требуется больше, чем просто скорость переключения языков. У нас есть приложение, написанное на oCaml у моего нынешнего работодателя, что оказалось ошибкой, потому что первоначальный автор ушел из компании, и никто больше не хочет его трогать. Точно так же сообщество PHP-веб намного больше, чем сообщество Python-сети; Услуги хостинга веб-сайтов с большей вероятностью будут предлагать поддержку PHP, чем поддержку Python; и Т. Д.
Но вернемся к скорости. Вы должны понимать, что вопрос скорости здесь затрагивает множество движущихся частей. К счастью, многие из этих компонентов можно оптимизировать независимо, что дает вам различные возможности для повышения производительности.
Преимущество скомпилированных файлов с байтовым кодом .pyc в Python переоценивается при использовании чего-то вроде Apache / mod_wsgi. Это потому, что они вступают в игру только при первой загрузке модуля. После этого все кешируется в памяти между запросами. Системы кэширования байтового кода - более серьезное дело для PHP, потому что приложение эффективно выбрасывается после каждого запроса, и поэтому ему приходится перезагружать код для каждого запроса.
организация ИБ не стала бы обдумывать это, если бы доступность не становилась проблемой.
Если это так, посмотрите на репликацию, балансировку нагрузки и много оперативной памяти.
Мне пришлось вернуться к веб-разработке на моей новой работе, и, если бы не Pylons / Python, возможно, я бы предпочел вместо этого жить в джунглях :) По моему субъективному мнению, PHP для детского сада, я сделал это на 3-м курсе of uni и, как я полагаю, многие уважающие себя (или переоценивающие) программисты не захотят возиться с кодом PHP.
Почему мои работодатели согласились? Мы (команда) только что перешли на Python, и им было нечего сказать. Веб-сайт по-прежнему является и будет на PHP, но мы разрабатываем другие приложения, в том числе веб-приложения, на Python. Преимущества пилонов? Вы можете интегрировать свои библиотеки Python в веб-приложение, и это, имхо, огромное преимущество.
Что касается производительности, то у нас все еще проблемы.
Я думаю, что классифицировать целый язык как «детский сад» немного легко. Тем более, что на самом деле довольно много уважающих себя инженеров-программистов в настоящее время используют PHP для разработки веб-приложений. Если вы спросите меня, любой уважающий себя веб-разработчик должен указать на C# как на лучший путь, если вам нужен «хороший язык», в отличие от PHP или Python, которые плохо подходят для ООП IMO. У Python есть своя философия, основанная на включении батарей, но ASP.NET имеет в основе очень приличную и последовательную структуру. (изменить: я сам являюсь веб-разработчиком PHP, чтобы добавить немного контекста.)
@notageek «Вы можете интегрировать свои библиотеки Python в веб-приложение, и это, имхо, огромное преимущество». Можете ли вы привести мне пример, когда НЕЛЬЗЯ интегрировать собственные библиотеки в приложение PHP?
Вы действительно можете работать с php; Я думаю, вы это недооцениваете. Однако python выглядит лучше и во многих отношениях намного проще и для многих задач намного проще, чем php.
Этот ответ был не очень приятным. Я знаю многих «уважающих себя» программистов, использующих PHP. Когда производительность является проблемой, на помощь приходят C++ и ASM, а не Python. Используйте инструменты, чтобы выполнить работу.
Я бы предположил, что PHP (> 5.5) быстрее и надежнее для сложных веб-приложений, потому что он оптимизирован для написания сценариев веб-сайтов.
Многие из тестов, которые вы найдете в сети, созданы только для того, чтобы доказать, что предпочитаемый язык лучше. Но нельзя сравнивать 2 языка с математической задачей, выполняемой X раз. Для реального теста вам понадобятся две сопоставимые платформы с сотнями классов / файлов и веб-приложение, запускающее одновременно 100 клиентов.
Любые тесты, которые я видел, также показывают недостаточную производительность Python по сравнению с более новыми версиями PHP. Хотя я еще не видел, чтобы кто-нибудь сравнивал производительность в полном приложении.