2012-01-04 10 views
1

基本的には、ユーザーが最高のアプリケーションを確実に取得できるように、どれだけ遠くにあるのかを知りたいと思っています。アプリケーションのパフォーマンスを向上させる簡単な方法

  1. 動的/静的メモリ割り当てをどちらの方が可能にするかを選択します。
  2. intを払い、shortまたはint8_tを使用してください。それは本当に助けになるだろうか?それとも頭痛の種ですか?
  3. "比例的"に大量のメモリを動的に割り当てる(必要な実際のメモリに関する情報が不足しているため)。そしてそれを小さなメモリ(コンパクト)に再割り当てし、それを削除します。例えば。私は1000単位のメモリを割り当てます。計算後、私は400台しか必要でないと判断します。そこで私は新しい400ユニットを割り当て、400アイテムをコピーして1000ユニットを削除します。このプロセスでは、私はさらに多くのメモリ、すなわちある時点で1400ユニットを割り当てることになります。だから私は実際に新しい400単位を割り当てるために苦労して600単位を無駄にするでしょうか? [主な質問]
  4. unionを効果的に使用して、メモリ使用量を削減できますか?

さらに重要な点がありません。メモリと時間のパフォーマンスを向上させる他の既知の方法や固有の方法は歓迎します。

+1

些細なことがあれば重要ではないでしょうか? –

+1

7:いいえ。良い本を読んで、パブで聞いたことについて早めに気にするのではなく、動作するものを書いてコードレビューをしてください。 –

+0

これはリストの質問であるのか、それとも7つの質問であるのか分かりません。いずれにしても、ここではうまくフィットしていないようです。 – Flimzy

答えて

1

2. Static. Don't allocate memory when you don't need to.

3. If the system is a 32-bit system, then the actual instructions to the processor will actually prefer uint32_t or int32_t...

5. If I need a generic data type that would need to be allocated several times in a loop, then a union can come in handy... to avoid allocating memory.

6. From my experience, allocating memory can be a slow process if it is done in a loop... You will see a performance increase if you allocate all the memory ahead of time, and then use it from a pool. When the system has go find huge blocks of memory, it can be a bottleneck.

7. In real-time situations with large chunks of memory... yes... otherwise... eh... not really

・ホープ、このことができます...あなたはこのスタイルに従っている場合は、パフォーマンスの向上に気づくでしょう。

9

7。私の懸念は本当ですか?

いいえ、あなたが言ったことはすべて、特に最新のコンパイラでは、無用なマイクロ最適化です。最も多くのコードを書きます。これは、コードが書き込まれる回数よりも何度も読み込まれるためです。

+2

+1で動作します。知恵のすすぎの言葉。 –

+0

ベスト回答私はstackoverflowのメンバーになってから読んだことが... :) – Owen

+0

私の恐怖を確認していただきありがとうございます! –

1

これはおそらく、Programmers.StackExchange.comにはるかに適しています。それにもかかわらず、私は通常あなたが1つを見るまで、ボトルの首を固定しないというUNIXの哲学に従います。

あなたの主な質問については、それは、大きなメモリブロックを割り当てるだけでなく、それを使って処理するよりも多くの処理サイクルを使用します。その意味ではそれほど効率的ではありません。とにかく、最近はメモリがかなり使い尽くされ、効率、再利便性、可読性が主な関心事です。

あなたが関係がある場合は、コンパイラに-O3を渡します。

関連する問題