Язык интерпретируется из исходного кода и байт-кода в сети - PullRequest
3 голосов
/ 10 декабря 2010

Предполагается, что программа написана на 2 разных языках:

  1. На языке, интерпретируемом из исходного кода (например, PHP)
  2. На языке, интерпретируемом из байт-кода (например, Java).

Две программы делают одно и то же (для простоты, скажем, они обе выводят только одну строку текста).

Будет ли язык (2) быстрее, чем (1)?

Можно ли сделать вывод, что в теории, в случае, когда два сайта предлагают одинаковую функциональность, но один построен на PHP, а другой - на Java (JSP), сайт на основе Java будет быстрее?

Joel

Ответы [ 2 ]

2 голосов
/ 10 декабря 2010

Нет, на это нет никаких гарантий.Это часть обычного процесса компиляции для создания промежуточного байт-кода.PHP просто отправляет исходный код -> байткод -> выполнение всего за один раз, тогда как Java отправляет исходный код -> файл -> байткод -> выполнение.Там нет большой разницы.Основное отличие будет заключаться в бэкэндах: насколько эффективна поддержка JIT на обоих языках, какая часть программы статическая и динамическая (например, типы).

Что еще более важно, время, потраченное на загрузку и загрузку необходимыхпакеты или взаимодействия с базой данных, скорее всего, будут влиять на производительность сайта, а не на язык поддержки.

1 голос
/ 10 декабря 2010

Для интерпретаторов текста и байтового кода, как правило, «быстрее» будет тот, в котором больше технологий потрачено на компиляцию исходного кода в оптимизированный машинный код.Это предполагает, что объем вычислений доминирует над количеством времени, которое требуется для «компиляции» кода.

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

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

...