【问题标题】:Why doesn't Perl compile to binary files like python为什么 Perl 不能像 python 那样编译成二进制文件
【发布时间】:2012-01-25 22:27:01
【问题描述】:

Python 解释器将创建字节码 .pyc 文件,这让我觉得是件好事(即在编译时间方面)。我相信 python 使用某种哈希来确定源是否已更改然后重新编译。

这对 Perl 来说是个好主意吗? (对于具有许多依赖项的大型项目等)。

【问题讨论】:

  • 商标有什么用?是 Pythonic 的吗?
  • @Zaid Good Thingjargon,通常用商标强调。极客。去图吧。

标签: perl compilation bytecode


【解决方案1】:

Parrot 是一个字节码 VM,应该被下一个版本的 Perl 使用,即 Perl6,但显然不再使用了(感谢 Barney Schmale 的评论)

【讨论】:

  • Perl6 是 Perl 的另一种类型,而不是继任者的“下一个”。它是一种语言规范,就像 common lisp 是一种语言规范一样。
  • 是的,但是 Perl6 的唯一(原型、不完整、alpha 阶段)实现似乎是基于 Parrot 的。
  • 仅供2015年读者注意,此说法不再正确。 Perl 6 目前最完整的实现是 Rakudo。 Rakudo 支持多个后端。最全面的后端是 Moar VM,其次是 JVM。 Parrot 支持滞后。
【解决方案2】:

实际上,有一种方法可以将 Perl 编译为字节码,但它有一些限制。见B::Bytecode

【讨论】:

    【解决方案3】:

    对于.pmc文件的相当长的解释,有lenghty article on perlmonks,也解释了为什么没有人使用它。

    【讨论】:

    • 虽然内置了 python 功能,但看起来(从我刚刚读到的)perl pmc 有点事后才想到!
    【解决方案4】:

    Perl 从二进制文件加载比从源代码加载花费的时间更长

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 2022-01-24
      • 1970-01-01
      相关资源
      最近更新 更多