0

可以使用 Google 的 V8 Javascript 引擎将服务器上的 JavaScript 解释为混搭代码。但是 PHP 和 Ruby 以及 Python 和 Java 每次被访问时都必须通过解释器运行,并且解释器的速度会降低。

真的吗?我在一篇关于 Google 的 V8 Javascript 引擎的文章中读到了这一点。

4

2 回答 2

1

不可以。字节码缓存可用于 PHP(例如 Zend Accelerator);Java 被编译为字节码。不能为 Python 说话。

于 2013-06-05T23:30:08.763 回答
1

Java 被编译成字节码,然后(通常)使用即时 (JIT) 编译器编译成机器码。Java 服务器不会为每个请求启动一个新进程(大多数只是启动一个新线程),因此 JIT 编译的成本在服务器的整个生命周期内分摊。在实践中,这意味着 Java 服务器可以以与 C 或 C++ 相当的速度处理请求(以自动内存管理的不同性能配置文件为模)。

Python 被编译为字节码,但每次执行时都会解释字节码,很像带有字节码缓存的 PHP。已经有一些关于 Python 的 JIT 编译器的工作(Psyco 是其中之一,PyPy 已经在 J​​IT 上做了很多工作),但它们通常不被认为是生产就绪的。(当然是 YMMV。)

于 2013-06-05T23:45:53.210 回答