多くの場合、開発者は問題を解決するための 2 つの方法のいずれかを選択する必要があります。たとえば、C ベースの言語では、数値を 2 で乗算する方法が 2 つあります。
int SimpleMultiplyBy2(int x)
{
return x * 2;
}
と
int FastMultiplyBy2(int x)
{
return x << 1;
}
最初のバージョンは、技術者と非技術者の両方にとってより簡単に理解できますが、ビットシフトは乗算よりも簡単な操作であるため、2 番目のバージョンの方がパフォーマンスが向上する可能性があります。(ここでは、コンパイラのオプティマイザがこれを検出して最適化しないと仮定しましょう。ただし、これも考慮事項です)。
開発者として、最初の試みとしてどちらが良いでしょうか?