Скорость PHP по сравнению с другими языками

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

5
задан Josh Curren 1 March 2010 в 22:52
поделиться

4 ответа

Этот вопрос возникает часто. Ответ:

  • Да, он медленнее, чем C#, Java, C/C++ и т.д.
  • Нет, это, вероятно, не имеет значения.

Вы можете создавать крупномасштабные системы на PHP. 4 из 20 самых посещаемых сайтов работают на PHP (Facebook, Yahoo, Wikipedia, Flickr). PHP с кэшем опкодов (например, APC) может продвинуть вас намного дальше, чем вам, вероятно, нужно или важно.

Большинство медленных веб-сайтов не имеют ничего общего с языком, который они используют. Большая часть времени, затрачиваемого на HTTP-запрос, приходится на сетевые задержки, отсутствие или неэффективное кэширование статических ресурсов, отсутствие сжатия, в результате чего используется больше полосы пропускания, чем необходимо, плохо работающий Javascript и т.д.

Если вы действительно отчаянно нуждаетесь в производительности, вы всегда можете использовать HipHop, который компилирует PHP в C++.

12
ответ дан 18 December 2019 в 10:44
поделиться

Это зависит от варианта использования. Хороший пример, иллюстрирующий это:

  • Когда вы используете PHP в качестве языка веб-сценариев на стороне сервера, он будет быстрее, чем программа C / C ++, работающая как CGI (это потому, что для CGI необходимо создать отдельный процесс и некоторые настройки должны быть выполнено, в то время как сценарии PHP выполняются внутри модуля http-сервера и просто «готовы к работе»)

  • С другой стороны, когда вы используете PHP для численных вычислений, он будет значительно медленнее, чем программа, написанная на C / C ++

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

1
ответ дан 18 December 2019 в 10:44
поделиться

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

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

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

Как и в случае с любым языком, вам необходимо знать структуры данных и то, как они должны использоваться эффективно. Плохие алгоритмы будут медленными независимо от языка, но особенно на языке сценариев, где под капотом творится много «волшебства».

2
ответ дан 18 December 2019 в 10:44
поделиться

Чтобы ускорить PHP, попробуйте APC - Alternative PHP Cache.

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

Больше информации об APC и других ускорителях PHP можно найти в Wikipedia.

1
ответ дан 18 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: