【问题标题】:Interpretation of Java or Ruby neccessary with every access?每次访问都需要解释 Java 或 Ruby 吗?
【发布时间】:2013-06-05 23:28:26
【问题描述】:

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

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

【问题讨论】:

    标签: java php javascript python ruby


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-02-24
        • 2017-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-18
        相关资源
        最近更新 更多