今日有在學習Java8的一些新特征,了解到lambda和stream之后,去importNew無意間逛到了一篇:Java8 Lambda表達式和流操作如何讓你的代碼變慢5倍,驚訝之下又去了Stack Overflow中逛了一逛,通常情況下,確是基礎的代碼效率更高,而stream更適合并行的安全的情況下使用,那么既然效率如此之慢,是否這不是一個好的特性?或者以后開發(fā)中就要避免使用這在性能上看似“雞肋”的一個特性?
2 回答

jeck貓
TA貢獻1909條經(jīng)驗 獲得超7個贊
同學,性能的考量主要是看你編寫的代碼是不是在性能熱區(qū)上。舉個栗子,你家住北京,要去廣州旅行。
你耗時最多的是乘坐火車從北京到廣州這一段。而不是你從家到火車站。你乘坐公共汽車去火車站相比開勞斯萊斯幻影去是比較慢,可能慢了10倍,但是不影響你旅行的時間。
但是如果你改乘高鐵而不是普通火車,則可以起到立竿見影的作用。
你為什么用java呢?你為什么不用c++甚至自己寫機器碼呢?你想你的程序還要編譯成字節(jié)碼,用一個叫jvm的東西翻譯才能最終被執(zhí)行,多慢啊。
寫程序的目的當然不僅僅是為了快。對不對。

喵喵時光機
TA貢獻1846條經(jīng)驗 獲得超7個贊
數(shù)據(jù)的groupby filter toMap map,sorted 等等 ,運行效率沒有那么仔細的測過,但是開發(fā)效率確實高出平時的四五倍。Why not。
添加回答
舉報
0/150
提交
取消