私はいくつかのコードを最適化しています。 a+b+c
とx+y+z
の合計が必要です。これらの変数の最小値と最大値を計算します。 minmax
を使用することは選択できません。私はこれらの計算を別々に行います。より高速です:計算または代入
次のうちどれが速いのですか?
min, max = 0, 0
max = [max, a + b + c, x + y + z].max
min = [min, a + b + c, x + y + z].min
または私はこのような何か行うことができます:
min, max = 0, 0
sum, sum2 = a + b + c, x + y + z
max = [max, sum, sum2].max
min = [min, sum, sum2].min
割り当てがされ、その後、より速く、私はそれらを必要としてちょうどそれらを計算するよりも、これらの変数の呼び出しを?後で同じ範囲でこれらの合計が必要な場合は、可読性のために変数を割り当てる方がクリーンです。
私はRubyの内部の動作に興味がありますが、私は開発のプロセス以上です。
_ "minmaxを使用するのはオプションではありません" _ - なぜですか? – Stefan
私は主にこの質問をして、ルビー、代入、計算の方が速いのか、なぜそうであるのかを判断しています。実際の最小値または最大値を計算しない。 – jkessluk
'min'と' max'があなたの例と関係がない場合、呼び出しを削除して2つの配列を作成することができます。しかし、このレベルの最適化は役に立たない可能性があります。私は理解しやすいコードを使っています。 – Stefan