2

「左に 1 ビットシフト」と書く代わりに、「2 を掛ける」と書くだけだとよく言われます。

コンパイルは一般的に何を行い、開発者は(コードを読みやすくするために)行うべきではありませんか?5 ~ 6 年前にどこかで数値演算の方がはるかに高速であると読んだので、string.length == 0代わりにいつも書いています。string == ""これはまだ本当ですか?

または、ほとんどのコンパイラは、次のものを変換するのに十分賢いでしょうか。

int result = 0; for (int i = 0; i <= 100; i++) { result += i; }

に: int result = 5050;?

ほとんどのコンパイルでは実行できないため、お気に入りの「最適化」は何ですか?

4

1 に答える 1

5

アルゴリズム: これまでのところ、より優れたアルゴリズムを選択できるコンパイラは地球上にありません。そもそも使用しているアルゴリズムを置き換えることを真剣に検討すべきだったのに、ベンチマークを行った後、急いで C で書き直す部分に飛びつく人が多すぎます。

于 2012-04-06T02:44:50.540 に答える