簡單測試Stream的執行效率

2021-10-09 06:24:01 字數 958 閱讀 6319

對乙個string集合中資料進行轉大寫操作,用for迴圈100000次,下面是使用不同方式的執行效率

stream 的方法引用

stream 的lambda函式

foreach迴圈

3011

2325

3369

3417

3573

3526

24503136

2293

372849302823

3416

2684

5070

3229

3174

2668

3089

3900

3120

2496

17853182

2964

3637

3925

3245

3120

3529

對資料最大差異值進行排除後計算平均

stream 的map中使用方法引用

stream 的map中使用lambda函式

foreach迴圈

3109.375

2903.625

2846.625

可以看到,使用stream序列流和for迴圈的執行效率相差不大,因此用stream替換for迴圈是可行的,並且可以大大節省編碼時間。

———————————————————————————

後來我又測試了boolean型別和int型別,發現for迴圈確實比stream快得多。筆者認為,使用基本資料型別時大概for迴圈比stream序列流快,但是在引用型別上for迴圈和stream相差不多,甚至有時stream比for略快。

by:mädchen und katzen

有關程式執行效率的簡單時長測試

文章將會提到兩種測時辦法,clock t 與time t,其中由於前者單位是毫秒ms而後者單位是秒s,故在精度上前者勝出,用於測時更加精準。這個測試演算法可以反映處演算法的執行效率,因此可以用於比較演算法設計的優劣。計時,可用於比較演算法的效率 其中第一種辦法精確度更高,前者clock t以ms為單...

測試stringbuilder執行效率示例

複製 如下 測試stringbuilder的執行效率 public static void fun2 停止測量某個時間間隔的執行時間。stopw.stop console.writeline string執行的時間 stopw.elapsedmilliseconds.tostring 毫秒 endr...

list型別資料執行效率測試

測試 如下 from timeit import timer deffun1 a for i in range 10000 li i a a li deffun2 a i for i in range 10000 deffun3 a for i in range 10000 deffun4 a li...