Что быстрее, веб-страницы 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
Если он не сломался, не исправляйте его.
Просто напишите быстрый тест, но имейте в виду, что каждый язык будет быстрее с определенными функциями, а затем с другим.
Ответ 7
Проверьте перестрелку в языках программирования:
http://dada.perl.it/shootout/
Ответ 8
Вы должны иметь возможность сделать бизнес-кейс для переключения, а не просто "быстрее". Если сайт, построенный на технологии B, на 20% больше времени разработки для обслуживания в течение установленного периода (скажем, 3 года), скорее всего, будет дешевле добавить еще один веб-сервер в систему, использующую технологию A, чтобы преодолеть разрыв в производительности.
Просто сказал: "Мы должны переключиться на технологию B, потому что технология B быстрее!" на самом деле не работает.
Поскольку Python гораздо менее вездесущ, чем PHP, я не удивлюсь, если хостинг, разработчик и другие расходы на обслуживание для него (в долгосрочной перспективе) соответствовали бы этому сценарию.
Ответ 9
организация IS не будет обдумывать это, если доступность не станет проблемой.
если это так, посмотрите на репликацию, балансировку нагрузки и много бара.
Ответ 10
Единственный правильный ответ: "Это зависит". Там много переменных, которые могут повлиять на производительность, и вы можете оптимизировать многие вещи в любой ситуации.
Ответ 11
Мне пришлось вернуться к веб-разработке на моей новой работе, и, если бы не Pylons/Python, возможно, я бы предпочел жить в джунглях вместо этого:) По моему субъективному мнению, PHP для детского сада, я сделал это в мой третий год работы uni и, я считаю, многие уважающие себя (или переоцененные) инженеры-программисты не хотят беспокоиться о PHP-коде.
Почему мои работодатели согласились? Мы (команда) просто переключились на Python, и им нечего было сказать. Веб-сайт по-прежнему является и будет PHP, но мы разрабатываем другие приложения, в том числе веб, в Python. Преимущества пилонов? Вы можете интегрировать свои библиотеки python в веб-приложение, а именно imho, огромное преимущество.
Что касается производительности, у нас все еще возникают проблемы.