2011-01-29 10 views
0

複雑な設定可能なビジネスロジックルールのAS3コードを生成する必要があるかどうか、またはデータとして表現する必要があるかどうかを判断しようとしています。 。AS3ソースコードのエントロピー

私の目標は、最小のコンパイル済みswfサイズを取得することです。スピードは問題ではありません。実装の複雑さも問題ではありません。 (両方のコースの合理的な限度内で)

私は十分な詳細を開示することはできません、と私はおそらく代わりに尋ねるの実験を行う必要があることを理解して、私の質問は次のとおりです。

AS3の平均圧縮率は何ですかswfにコンパイルされたソース?ソースコードの1キロバイトあたりのバイト数はどれくらいですか?

(私は完璧な答えはせいぜい非常にラフな数字になることを理解しています。)

答えて

0

大部分のいずれかのデータの道や行くことによって、任意の相対利得を消去する可能性があるようにSWFファイルが既に圧縮はzlibされていることを忘れないでくださいコード方法。

最初の読み込み速度があなたのコードである場合は、コードの断片をいつでも除外し、別のSWFファイルから要求に応じて読み込むことができます。コンパイル済みのSWFについて

+0

いいえ、私はサイズとサイズの後に行っています。だからとにかく、コードの比率は? –

1

いくつかの事実:

  • クラス名は
  • メンバー名が
  • ローカル変数名は
  • コメントは保存されず、空白が
を剥奪されて保存され、保存されています

したがって、比率は識別子、コメント、さらにはタブまたはスペースの環境設定の長さによって決まります。クラス名をA0、A1などのように置き換えるobfuscatorで結果SWFを実行する場合は、いくつかのバイトを節約する必要があります。

あなたの状態マシンのアイデアは最も有望であるようです - コードは一度書かれ、規則はコンパクトな方法で書かれます。小さな数字を1つのintにパックすることができれば、より良いでしょう(4バイトのintとuintより小さい整数はAS3にはありません)。

+0

ええと、コンパイルされたコードはzlibで圧縮されています...私のステートマシンのデータがコンパイルされたコードよりも優れているかどうかは分かりません。これが私が数字を求めている理由です... –

+0

なぜ、実験しませんか?いくつかの関数とメジャーバイトを追加します。ハードまたは「右」の比率が存在しない場合は、とにかく自分の番号が必要です。 – alxx

関連する問題