これは、効率の推定の背後にある原理についての質問です。私のプロジェクトの 1 つで、この状況に遭遇しました。関数は 2 つの正の整数を取得し、2 つのうち最小のものを返します。私が通常使用している、ステップ数で計算するこの方法が、効率を推定するためのある程度正確な方法であるかどうか、および他の方法があるかどうか、またはそれらの実行速度を常に単純に比較する必要があるかどうかを知りたいです。
Function(int a, int b)
{
int lowest = a - b; //3 steps, allocating, assigning and calculating
lowest = lowest * lowest / lowest; //3 steps, 2 in calculating, 1 in assigning
//6 steps total
return lowest;
}
Function(int a, int b)
{
int lowest; //1 step in allocating
if(a > b){ // 2 steps, 1 in comparing, 1 in picking the outcome
lowest = b; // 1 step in assigning
// Total 4 steps
}else{
lowest = a; // 1 step in assigning
// Total 4 steps
}
return lowest;
}
この場合、手順が少ないと思われるため、関数 2 を選択します。