關於for迴圈的累加效率問題(java)

2021-04-13 02:52:36 字數 627 閱讀 5350

累加的效率問題:

目前有下面兩種方法:

方法一:

long sum = 0;

for(int i = 0;i < value;i++)

方法二:

long sum = 0;

sum = (value + 1) *  value / 2;

當value值等於10000,使用方法一,執行10次有4次會產生15毫秒左右耗時,使用方法二,執行10次無耗時產生。

當value值等於100000,使用方法一,執行10次有5次會產生15毫秒左右耗時,使用方法二,執行10次無耗時產生。

當value值等於1000000,使用方法一,執行10次有10次會產生31毫秒左右耗時,使用方法二,執行10次無耗時產生。

......

以此類推,方法一累加計數的效率和方法二相比,隨著value值的級數遞增,效率相應下降。

測試**:

public class ******arithmetic

private long getsumcycle(long value)

return sum;

}private long getsumnotcycle(long value)

}

關於 迴圈 效率的問題

今天寫到迴圈邏輯,糾結於是用更少的迴圈呼叫函式還是用更少的函式,多迴圈兩次。於是做了個實驗,發現基於c的lua,函式呼叫的代價果然很高。local tb local max 10000000 for i 1,max do tb i i endfunction check i,max if tb i ...

關於for迴圈的執行效率問題

我以前遇到的問題大概都是這種型別的 1for inti 0 i 100 i 2 7 8和 9 for inti 0 i 10000 i 10 15 這兩個程式那個執行效率高,如果是以前我會毫不猶豫的說是第乙個效率高,這是由於cpu切換的次數比較多導致效能下降,知道這句話不理解什麼原理。我比較贊同下面...

js FOR迴圈效率問題

引 每個接觸js的開發人員都不可避免的與for迴圈打交道,畢竟這是遍歷必不可少的工具之一。然而當迴圈次數比較大時,效率問題必須重視。在群眾,站長提出了這個話題,回去好好想了下,整理出來,大家一起討論討論。1.倒序比正序效率高?聽好多人說,倒序效率更高,好吧,做個實驗,讓事實說話 測試 複製 測試結果...