2016-04-13 8 views
0

何が良いですか?コードの500行を有するものマネージャにコードの30行それぞれその代表とAS3 - オブジェクト内のコードの量は、複数のインスタンスで重要ですか?

1000年オブジェクトVSコードの500行毎

1000年オブジェクト。


コンテキスト:

私は私のゲームの信号を持っています。何十ものそれらの数十。私は彼らがネイティブのフラッシュイベントよりも優れたパフォーマンスを持つのが好きです。

私は非常に多くを持っているので、軽量でなければならないと思ったので、各信号はいくつかの変数と3つのメソッドしか格納しません。

変数:頭、尾、isStepping、hasColdNodes、signalMgr

方法:のaddListener、のremoveListener、signalMgrへの発送


しかし、これらすべての信号デリゲートheavywork、のように:

signalMgr.addListener(this、listener、removeOnFirstCallback);

そのマネージャは、二重にリンクされたすべてのリストを処理し、信号よりもずっと多くのコードを持っています。

このように考えるのは正しいですか? 信号にすべての管理コードが含まれていると、そのコードがインスタンスごとに繰り返されることになります。

+0

どのように「より良い」? – Aaron

+0

Performancewise。 – Speck

+0

なぜsignalMgrをどこに持っていても、それをsingletoneにしてください –

答えて

0

時間の約97%という小さな効率を忘れるべきです。早すぎる最適化はすべての悪の根源です。 (c)DonaldKnuth

すべてのプログラマーの最終目標はクリーンなコードを書くことです。ですから、ほんの少しの最適化の考えでクリーンなコードを書くべきです。

+0

いいですね。それは、コードがどのように管理されているか知っていることは素晴らしいことです。将来、何千ものオブジェクトを作成する必要がある場合は、このテクニックを使用することができます。 – Speck

+0

まあ、パターンと良い習慣がたくさんあります。あなた自身でいくつかのプロジェクトを作成する前に、プラットフォーム固有の知識がたくさんあるはずです。 –

1

あなたの質問の文脈では、これはかなり無関係であり、どちらのケースでも大きな違いはありません。

あなたが言うことから、あなたは多くのことを想定しているようですが、実際には何も確認していないようです。たとえば、次のように言っているとします。「ネイティブのFlashイベントよりも優れたパフォーマンスが得られることが好きです。私はあなたがどこかでそれを読んだが、自分でそれを検証しようとは決してしなかったと仮定することができます。信号システムを使用するとわずかな違いが生じるケースはほんのわずかですが、ほとんどの場合、信号システムを持ち込まず、状況を悪化させる場合もあります。フラッシュ開発の文脈では、信号は単純な利便性以上のものをもたらしません。 Flashはイベント駆動型のシステムで、電源を切ることはできません。そのため、信号を使用することは、イベント+信号を使用することを意味し、信号だけを使用することは意味しません。委譲を使用するカスタムイベントの場合は、はるかに効率的で使いやすく、オブジェクトを作成する必要はありません。

しかし、実際の答えはさらに簡単です。最適化が必要ないことをあなたが知らないものを最適化するポイントはありません。さらに悪い異なるOSは異なる最適化ニーズを生み出すので、一般的な最適化問題に答えようとする人は誰もが失敗するか、あるいは偽ります。

関連する問題