Re: Lambda 和Streams 可以慢5倍

看板java作者 (好多目標)時間9年前 (2015/12/03 03:52), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串2/3 (看更多)
※ 引述《Lordaeron (Terry)》之銘言: : http://tinyurl.com/ndw5g39 : 這個看起來很慘!! : 但 : http://tinyurl.com/ne83u8f : 這個看起來, 又很好呢. 標題太誤導人了。我兩邊都仔細看了,stream 或 parallelStream 應該是較 佳的寫法。慢五倍的關鍵並不是 stream,而是 boxing/unboxing integers.stream().reduce(...) integers.stream().mapToInt(Integer::intValue).reduce(...) 上面兩個寫法,有先 mapToInt 就可以避免掉過多的 boxing/unboxing,速度 跟 for loop 差不多。 同樣的道理,下面這段 code 很不好: String r = ""; for (String s : strs) { r = r + s; } 上面這段 code,每次 r = r + s 就會產生一個新的 String,效能會很低。 要避免產生無用的 String,要用 StringBuilder。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 131.107.174.119 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1449085945.A.3B0.html

12/03 06:02, , 1F
不可修改內容的物件都要注意
12/03 06:02, 1F

12/03 08:52, , 2F
good point
12/03 08:52, 2F

12/03 11:27, , 3F
你要不要回文反駁一下? 做數據出來反駁?
12/03 11:27, 3F

12/06 09:36, , 4F
原文就有人提了,數據早更新了,你自己標題殺人怪我?
12/06 09:36, 4F
文章代碼(AID): #1MNqlvEm (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1MNqlvEm (java)