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

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

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

Ответ 1

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

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

Например, веб-приложения 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-web-сетей намного больше, чем сообщество Python-web; Услуги веб-хостинга с большей вероятностью будут предлагать поддержку PHP, чем поддержка Python; и др.

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

Ответ 2

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

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

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

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

Ответ 8

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

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

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

Ответ 9

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

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

Ответ 10

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

Ответ 11

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

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

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