PAR Packer可执行文件大小

时间:2011-08-13 19:17:07

标签: windows perl par

我一直在使用PAR:Packer(pp)为windows创建二进制文件。它们总是可以理解的大(大约6-8MB),最近我更新了我的软件包(我在windows上使用stawberry perl),现在它正在生成几乎20MB的二进制文件!据我所知,它包含了一个完整的perl环境以及所有需要的模块,但它已经失去控制,并且有点尴尬地交给某人一个19MB的简单脚本!无论如何要减少二进制大小?任何人都知道为什么在最近的几个版本或PAR Packer中尺寸有所增加?

2 个答案:

答案 0 :(得分:3)

在Perl环境中安装新模块(甚至只升级一些)时, pp 将包含大量其他文件,即使脚本未使用它们也是如此。这是因为 pp 比关于包含什么包含它会吸收大量无用的依赖关系更安全。

诀窍是使用两个 Perl环境。一个用于开发,另一个用于构建二进制文件。对于构建环境,从新的Perl安装开始,安装PAR :: Packer和应用程序所需的模块。

在我的建筑环境中,我可以生成仅5 Mb的Tk二进制文件。在我的开发环境(CPAN上有很多垃圾)在同一台机器上,相同的脚本是13 Mb。

答案 1 :(得分:2)

它有什么区别?恕我直言,我不会关注 size ,只有表现

PAR不会隐藏任何东西,你想要如果你想知道哪些文件被打包,如果它们被剥去了pod等等,你所要做的就是看看里面unzip -d foo foo.exe

FWIW,AFAIK,尺寸没有变化,所以你必须使用很多很多模块。

  • 典型的无模块打印 - 打印pl产生约1.6M
  • 加载Moose / Tk,你的速度约为5.1M
  • 加载Gtk2 / Glib / Pango / Cairo /线程,你大约9.7M