【发布时间】:2013-06-05 23:28:26
【问题描述】:
可以使用 Google 的 V8 Javascript 引擎将服务器上的 JavaScript 解释为混搭代码。但是 PHP 和 Ruby 以及 Python 和 Java 每次访问时都必须通过解释器运行,并且解释器的速度会降低。
这是真的吗?我在一篇关于 Google 的 V8 Javascript 引擎的文章中读到了这一点。
【问题讨论】:
标签: java php javascript python ruby
可以使用 Google 的 V8 Javascript 引擎将服务器上的 JavaScript 解释为混搭代码。但是 PHP 和 Ruby 以及 Python 和 Java 每次访问时都必须通过解释器运行,并且解释器的速度会降低。
这是真的吗?我在一篇关于 Google 的 V8 Javascript 引擎的文章中读到了这一点。
【问题讨论】:
标签: java php javascript python ruby
Java 被编译成字节码,然后(通常)使用即时 (JIT) 编译器编译成机器码。 Java 服务器不会为每个请求启动一个新进程(大多数只是启动一个新线程),因此 JIT 编译的成本在服务器的整个生命周期内分摊。实际上,这意味着 Java 服务器可以以与 C 或 C++ 相当的速度处理请求(以自动内存管理的不同性能为模)。
Python 被编译为字节码,但每次执行时都会解释字节码,这很像带有字节码缓存的 PHP。已经有一些关于 Python 的 JIT 编译器的工作(Psyco 是其中之一,PyPy 已经在 JIT 上做了很多工作),但它们通常不被认为是生产就绪的。 (当然是 YMMV。)
【讨论】:
没有。字节码缓存可用于 PHP(例如 Zend Accelerator); Java 被编译为字节码。不会说 Python。
【讨论】: