Pregunta

Si se asume que un programa está escrito en 2 idiomas diferentes:

  1. En un lenguaje interpretado desde el código fuente (PHP por ejemplo)
  2. En un lenguaje interpretado de bytecode (Java por ejemplo).

El programa hace dos exactamente la misma (para simplificar, digamos que ambos solo salidas de una línea de texto).

idioma Will (2) ser más rápido que (1)?

¿Puedo concluir que, en teoría, en un caso en dos sitios ofrecen la misma funcionalidad, pero uno construido con PHP y el otro con Java (JSP), el sitio basado en Java será más rápido?

Joel

¿Fue útil?

Solución

No, no hay ninguna garantía acerca de esto en absoluto. Es parte del proceso de compilación normales para producir un código de bytes intermediario. PHP sólo va fuente -> código de bytes -> ejecución de una sola vez, mientras que Java pasa fuente -> Archivo -> código de bytes -> ejecución. No hay mucha diferencia. La principal diferencia vendrá en backends- la eficacia está apoyando el JIT ambos idiomas, cuánto del programa es estática frente dinámicos (tipos, por ejemplo).

Más importante aún, el tiempo pasó y la descarga de los paquetes necesarios o interacciones de bases de datos es probable que dominan el rendimiento del sitio web, no el lenguaje respaldo.

Otros consejos

Para los intérpretes de texto de código de bytes frente, en general, el "más rápido", uno será el que tiene más tecnología pasado compilar el código fuente a código máquina optimizado. Esto supone que la cantidad de cálculos que hacer domina la cantidad de tiempo que se necesita para "compilar" el código.

Fro web páginas, que en su caso no importa mucho, ya que sus páginas web no pueden tener una gran cantidad de cálculos que hacer. (La mayoría de las páginas web pasan su tiempo de espera para la entrada del usuario :) Para su línea de un ejemplo, no creo que le importa nadie.

Para PHP vs Java, creo que se dará cuenta de que Java es un ganador de las manos hacia abajo en términos de velocidad en general. El compilador de PHP HipHop es un intento de ponerse al día con las capacidades generales compilador Just-in-time de la mayoría de las implementaciones de Java.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top