Кто-нибудь знает, как скорость пилонов (или любых других фреймворков) сравнивается с аналогичным сайтом, созданным с помощью php? Я знаю, что обслуживание веб-страницы базы данных python через cgi происходит медленнее, чем php из-за его длительного запуска каждый раз.
Мне нравится использовать пилоны, и я все равно буду использовать его, если он будет медленнее, чем php. Но если пилоны были быстрее, чем php, я мог бы, надеюсь, в конечном итоге убедить своего работодателя разрешить мне преобразовать сайт в пилоны.
Похоже, вы не хотите сравнивать два языка , но хотите сравнить две веб-системы .
Это сложно, потому что есть много переменных.
Например, веб-приложения 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; и т.п.
Но вернемся к скорости. Вы должны признать, что вопрос скорости здесь включает в себя множество движущихся частей. К счастью, многие из этих частей могут быть независимо оптимизированы, предоставляя вам различные возможности для повышения производительности.
Нет смысла пытаться убедить вашего работодателя в переносе с PHP на Python, особенно не для существующей системы, и это то, что я думаю, что вы подразумеваете в своем вопросе.
Причина этого в том, что у вас уже есть (предположительно) рабочая система с существующими инвестициями времени и усилий (и опыта). Отбросить это в пользу тривиального выигрыша в производительности (не то, что я утверждаю, что это будет один) было бы глупо, и никакой менеджер, заслуживающий его соли, не должен его одобрять.
Это может также создать проблему с ремонтопригодностью, в зависимости от того, кто еще должен работать с системой, и их опыта работы с Python.
Я бы предположил, что PHP (> 5.5) быстрее и надежнее для сложных веб-приложений, потому что он оптимизирован для веб-скриптов.
Многие из тестов, которые вы найдете в сети, сделаны только для того, чтобы доказать, что предпочтительный язык лучше. Но вы не можете сравнивать 2 языка с математической задачей, выполняемой X-раз. Для реального теста вам нужны две сопоставимые структуры с сотнями классов / файлов, а веб-приложение запускает сразу 100 клиентов.
PHP и Python достаточно похожи, чтобы не прерывать какие-либо переключения.
Любое повышение производительности, которое вы могли бы получить от перехода с одного языка на другой, было бы намного превосходенным, просто не тратя деньги на конвертацию кода (вы не кодируете бесплатно?) И просто покупаете больше оборудования.
Это примерно то же самое. Разница не должна быть достаточно большой, чтобы быть причиной выбора того или другого. Не пытайтесь сравнивать их, написав свои собственные крошечные тесты ( "hello world"
), потому что у вас, вероятно, не будет результатов, которые являются репрезентативными для реального веб-сайта, создающего более сложную страницу.
Если он не сломался, не исправляйте его.
Просто напишите быстрый тест, но имейте в виду, что каждый язык будет быстрее с определенными функциями, а затем с другим.
Проверьте перестрелку в языках программирования:
Вы должны иметь возможность сделать бизнес-кейс для переключения, а не просто «быстрее». Если сайт, построенный на технологии B, на 20% больше времени разработки для обслуживания в течение установленного периода (например, 3 года), скорее всего, будет дешевле добавить еще один веб-сервер в систему, использующую технологию A, чтобы сократить разрыв в производительности.
Просто сказал: «Мы должны перейти на технологию B, потому что технология B быстрее! » На самом деле не работает.
Поскольку Python гораздо менее вездесущ, чем PHP, я не удивлюсь, если хостинг, разработчик и другие расходы на обслуживание для него (в долгосрочной перспективе) соответствовали бы этому сценарию.
организация ИС не стала бы обдумывать это, пока не возникнет проблема доступности.
если это так, посмотрите на репликацию, балансировку нагрузки и массу бара.
Единственный правильный ответ: «Это зависит». Существует множество переменных, которые могут повлиять на производительность, и вы можете оптимизировать многие вещи в любой ситуации.
Мне пришлось вернуться к веб-разработке на моей новой работе, и, если бы не Pylons / Python, возможно, я бы предпочел жить в джунглях вместо этого 🙂 По моему субъективному мнению, PHP для детского сада, я сделал это на 3-м курсе из uni и, я считаю, многие уважающие себя (или переоцененные) инженеры-программисты не хотят беспокоиться о PHP-коде.
Почему мои работодатели согласились? Мы (команда) просто переключились на Python, и им нечего было сказать. Веб-сайт по-прежнему является и будет PHP, но мы разрабатываем другие приложения, в том числе веб, в Python. Преимущества пилонов? Вы можете интегрировать свои библиотеки python в веб-приложение, а это, imho, огромное преимущество.
Что касается производительности, у нас все еще возникают проблемы.