Есть ли тест, который сравнивает PHP и JSP? - PullRequest
2 голосов
/ 15 ноября 2009

Я не хочу устраивать священную войну. Я просто хочу знать, есть ли такой ориентир? Или, может быть, вы можете что-то сказать об этой теме из своего опыта?

Ответы [ 2 ]

7 голосов
/ 15 ноября 2009

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

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

С другой стороны, первое узкое место в производительности, которое вы будете иметь, вероятно, будет скорость базы данных в любом случае. Кроме того, есть еще много других способов повышения производительности, таких как предварительная компиляция сценариев PHP, вывод сложных вычислений в C и т. Д. И по сравнению с чудовищем веб-разработки на Java PHP легко освоить и с ним справиться. В конце концов, если у вас есть выбор, вы должны выбрать наиболее удобный для вас язык. Если вы начинаете новый проект, вы можете даже не знать, будут ли когда-либо важны все аспекты производительности, потому что у вас еще нет пользователей, и вы просто хотите быстро запустить приложение.

1 голос
/ 15 ноября 2009

Хотя объяснение Даффа «PHP против JSP» технически неверно, основная суть его поста верна: выберите язык, который подходит вам лучше всего. Лишь очень редко вы окажетесь в положении, когда производительность действительно имеет большое значение. В этот момент у вас гораздо больше шансов сделать значительную архитектурную оптимизацию на выбранном вами языке - и эти оптимизации, скорее всего, будут иметь значительно больший эффект, чем разница между PHP и JSP.

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

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

Существуют книги специально о процессе оптимизации в целом, но последовательность клавиш такова:

  1. Benchmark
  2. Изменить тест
  3. Эталонный тест, чтобы увидеть, указывает ли изменение на улучшение производительности
  4. Живи
  5. Оценить живой ответ, чтобы увидеть, был ли верный прогноз эталона

(Люди часто забывают # 5 и причиняют себе горе)

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

...