私は、何回も繰り返す一連の計算でできるだけ多くの時間を節約しようとしています。計算には、変数S = 1
が1でない場合と2つの場合があります。変数S
は、コードの冒頭に#define
の定数として設定されています。対if #if:高速なパフォーマンスですか?
今のところ、私はif
を持っています。適切な計算を行う前に、S
の値を確認してください。 #if
を代わりに使用するとパフォーマンスが向上しますが、プリプロセッサーには事前に使用されるコードの一部が選択されていますか?S
はすでに利用可能ですので、私は過労の増加は見られませんが、これは間違いなく道のりであると言われています。
実際のコードの途中でプリプロセッサコードを使用するのは変わっていますが、実際に役立つ場合は問題はありません。このような場合には#if
を使用していますか?
いつものように、2つ以上の選択肢の間のパフォーマンスについて質問がある場合は、*測定してください*! –
@Greg:確かですが、常識的には、(1)とにかく問題ではない可能性があり、(2)とにかく差異がゼロになることを示すのに十分な場合があります。 - 本当に些細な/考案されたもの、ここでいつも尋ねられるものもあります。 – delnan
@Greg:それは特定の問題に対する良い答えですが、この質問に対する一般的な答えを知ることはずっと便利です。パフォーマンスが同じであることが一般的に分かっている場合は、パフォーマンスを無駄にしてしまう心配なしに、コード内のフォームが自由に選択できます。同様に、 '* 2'と' '1''が常に同じコードを生成することを知ることは有益です。読みやすい(またはより良い演算子優先プロパティがある)ときに' * 2'を使うことができます。 –