AS3源代码的熵

时间:2011-01-29 02:58:34

标签: actionscript-3 size-reduction

我正在尝试决定是否应该为某些复杂的可配置业务逻辑规则生成AS3代码,或者我应该将它们表示为数据,并在AS3中编写状态机来解释它。

我的目标是获得最小的编译swf大小。速度不是问题。实施复杂性也不是问题。 (当然,两者都在理性范围内。)

我无法透露足够的细节,我知道我可能应该做实验而不是询问,但我的问题是:

编译为swf时,AS3源的平均压缩率是多少?每千字节源代码的swf字节数是多少?

(我完全理解,答案最多只是一个非常粗略的数字。)

2 个答案:

答案 0 :(得分:1)

关于编译的SWF的一些事实:

  • 保留类名称
  • 保留成员名称
  • 不保留局部变量名称
  • 评论和空白被剥夺

因此,该比率将取决于标识符,注释甚至制表符或空格首选项的长度。如果你通过obfuscator运行你的结果SWF,它会用A0,A1等替换类名,你应该节省一些字节。

您的状态机理念似乎是最有前途的 - 代码只编写一次,规则可以用紧凑的方式编写。如果你可以将小数字打包成一个int,那就更好了(AS3中没有小于4字节整数和uint的整数)。

答案 1 :(得分:0)

请记住,SWF文件已经被zlib压缩,因此大多数情况下可能通过数据方式或代码方式擦除任何相对增益。

如果初始加载速度是您的目标,您可以随时分解代码块并根据需要从另一个SWF文件加载它。