Я слышал много, что PHP медленно сравнивает другие языки. Является ли разница в скорости заметно заметной, чтобы переключиться на другой язык? И если да, то какой другой язык вы бы порекомендовали? Или что было бы хорошими оптимизациями, которые могли бы ускорить работу PHP?
Этот вопрос очень много. Ответ:
Вы можете создавать широкомасштабные системы PHP. 4 из 20 посещаемых веб-сайтов работают на PHP (Facebook, Yahoo, Wikipedia, Flickr). PHP с кешем opcode (например, APC ) может сделать вас намного дальше, чем вам, вероятно, понадобится или позаботится.
Большинство медленных веб-сайтов не имеют никакого отношения к используемому им языку. Большая часть времени, затраченного на HTTP-запрос, сводится к задержке в сети, отсутствию или неэффективному кэшированию статических ресурсов, отсутствию сжатия, что приводит к увеличению полосы пропускания, чем необходимо, плохо выполняется Javascript и так далее.
Если вы действительно отчаянно нуждаетесь в производительности, вы всегда можете использовать HipHop , который компилирует PHP на C ++.
PHP будет достаточно быстрым для приложений веб-сайта, если вы используете лучшие практики.
Если вы сравните PHP с, скажем C ++, конечно, это будет медленнее. Но вам нужно учитывать общую стоимость разработки. Просто потому, что один язык создает более быстрые программы, не означает, что он будет более экономичным. В зависимости от вашего стиля программирования, опыта и проекта, над которым вы работаете, вы можете обнаружить, что другой язык лучше подходит для задачи.
Если вы используете кеш opcode , вы получите очень большую скорость, просто избавившись от необходимости доступа к диску и анализа файлов PHP.
Как и на любом языке, вам нужно быть знакомым с структурами данных и тем, как они должны использоваться эффективно. Бедные алгоритмы будут медленными, независимо от языка, но особенно на языке сценариев, где под капотом происходит много «магии».
Чтобы ускорить PHP, попробуйте APC – альтернативный кэш PHP.
Он может кэшировать скомпилированный код, поэтому файлы исходного кода не нужно переписывать для каждого запроса.
Более подробную информацию о APC и других ускорителях PHP можно найти в Википедии .
Это зависит от случая использования. Хороший пример, чтобы проиллюстрировать это:
Когда вы используете PHP в качестве языка веб-скриптов на стороне сервера, он будет быстрее, чем программа C / C ++, работающая как CGI (это связано с тем, что для CGI необходимо создать отдельный процесс и выполнить некоторую настройку, в то время как PHP-скрипты выполняются внутри http серверный модуль и просто «готовы к работе»)
С другой стороны, когда вы используете PHP для численного вычисления, он будет значительно медленнее, чем программа, написанная на C / C ++
PHP предназначен для того, чтобы быть языком веб-программирования на стороне сервера, и для этой цели он должен использоваться. Он достаточно эффективен для этой задачи, но вы можете ускорить его с помощью инструментов кеширования. Если этого недостаточно, вы можете написать расширение в Zend API.