1

これは単に私の好奇心を和らげるためのものです。誰かがそれに答えたいと思うなら、それは素晴らしいことですが.

if文の場合、結果の計算にかかる時間は書き方に影響されますか?

つまり、(あまり明確でない場合) 次の 2 つのステートメントの処理にかかる時間は同じでしょうか?

if 1 < 2 and 3 = 3 then
   //do something
end if

に比べ

if 1 < 2 then
    if 3 = 3 then
      //Do something
    end if
end if
4

2 に答える 2

3

コンパイラがこれら 2 つの呼び出しを最適化しないと考えると、2 番目のステートメントには 1 つではなく 2 つの分岐命令が必要になります。また、パイプライン処理のため、分岐には CPU の余分な作業が必要です。したがって、技術的には、2 番目のバージョンではさらに多くの作業が必要になりますが、ここでは問題になりません。

于 2012-11-13T06:06:16.473 に答える
3

これは、早すぎる最適化のもう 1 つのケースです。これについて多くのことを考えても、あなたは何も得るつもりはありません。

注目すべきは、コードをより読みやすくする方法です。

于 2012-11-13T06:04:39.707 に答える