我正在優化一些代碼。我需要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'與您的示例無關,您可以刪除這些調用並創建兩個數組。但是,這種優化級別可能無用。我會選擇更容易理解的代碼。 – Stefan