是否有编译器选项可以最小化Opa web(或“云”)应用程序的二进制文件大小?

时间:2011-09-30 02:27:37

标签: opa

我有一个用Opa编写的最简单的“Hello,web”网络应用程序(参见下面的一行代码):

server = one_page_server("Hello", -> <>Hello, web!</>)

然后我编译这个文件(在我的例子中名为hello.opa),如下所示:

opa hello.opa

这将生成一个大小约为35Mb的文件hello.exe。我意识到Opa在二进制文件中打了一大笔钱,但是如果我们的应用程序没有利用它所有的整洁功能,那么无论如何都要减小生成的二进制文件的大小?如果是这样,怎么样?我查看了opa --help上打印的选项,但没有看到任何与此查询相关的内容。

有关我的环境的信息:

  • 操作系统:OS X / 10.7(Lion)
  • Opa版本:S3.5 - build 652

感谢任何输入。

更新:@Bill提到使用strip。我在strip二进制文件上运行hello.exe,它将其降低到25Mb。优秀的建议(我已经忘记了条带)虽然我希望有更小的东西。

2 个答案:

答案 0 :(得分:1)

您应该尝试upx并将结果大小与strip生成的大小进行比较。我的Mac上有7.3M这个hello.opa。

您可以在Mac上使用MacPort进行安装:sudo port install upx

请注意,我们已经与OPA建立了一个大型网站(http://jetleague.com/)。我已经检查过服务器,二进制文件只有13M(upx-ed)。

不要忘记他们就是这个二进制文件里面的一切。您可以在任何新服务器上运行它而无需任何额外安装(如Apache,Mysql,PHP模块......)。

如果您需要更新服务器,可以使用rsync进行快速更新。

答案 1 :(得分:0)

不是特定于opa,但你是否尝试过普通的旧条带?