2011-01-29 46 views
0

我想要決定是否應該爲某些複雜的可配置的業務邏輯規則集生成AS3代碼,還是應該將它們表示爲數據,然後在AS3中編寫一個狀態機來解釋它。熵的AS3源代碼

我的目標是獲得最小的編譯的swf大小。速度不是問題。實現的複雜性也不是問題。 (既有理性的限制,當然內)

我不能透露足夠的細節,我的理解,我可能應該做的,而不是詢問實驗,但我的問題是:

什麼是AS3平均壓縮比編譯爲swf時源? swf每千字節的源代碼有多少字節?

(我完全理解,答案將在最好的是一個非常粗略的數字。)

回答

0

記住SWF文件已zlib的壓縮,使得大部分可能通過去任何數據的方式或刪除任何相對收益代碼方式。

如果初始加載速度是您將要執行的代碼塊大小和從另一個SWF文件按需加載的初始加載速度。

+0

不,我只追求尺寸和尺寸。所以,無論如何,代碼的比例是多少? – 2011-01-29 04:15:01

1

預編譯SWF的一些事實:

  • 類名稱被保留
  • 會員名稱保留
  • 局部變量名不保留
  • 註釋和空白被剝離

因此,比率將取決於標識符的長度,評論甚至製表符或空格偏好。如果通過使用A0,A1等類替換類名的混淆器來運行結果SWF,則應該保存一些字節。

您的狀態機的想法似乎是最有希望的 - 代碼只寫一次,規則可以用緊湊的方式編寫。如果你可以將小數字打包到一個int中,它會更好(AS3中沒有小於4字節的int和uint中的整數)。

+0

恩,但編譯後的代碼是用zlib壓縮的......很難說如果我的狀態機數據比編譯的代碼更好的壓縮。這就是爲什麼我要求數字... – 2011-01-29 13:17:54