Java 的 lambda 这么耗时,大家平时用吗?

2017-08-23 23:28:39 +08:00
 guyeuro

用了一次,pv 下降不少

3941 次点击
所在节点    问与答
16 条回复
Sharuru
2017-08-23 23:32:15 +08:00
?
GoGoGoBoy
2017-08-23 23:38:26 +08:00
@Sharuru 什么鬼…
guyeuro
2017-08-23 23:39:53 +08:00
@GoGoGoBoy http://www.cnblogs.com/figure9/archive/2014/10/24/4048421.html

lambda 表达式

譬如 aMap.forEach(item->System.out.Println(item))
twm
2017-08-23 23:43:27 +08:00
和 pv 有什么关系呢
jadecoder
2017-08-23 23:43:50 +08:00
?
GoGoGoBoy
2017-08-23 23:43:55 +08:00
@guyeuro 我知道啊。。。楼主说的话无厘头,lambdalambda 怎么耗时了,增加了并行计算 forkjoin 框架处理,使用得当性能当然提高
guyeuro
2017-08-23 23:53:49 +08:00
@GoGoGoBoy 至少对集合的流 lambda 表达式比 for 循环耗时
zjp
2017-08-24 00:06:31 +08:00
看了下楼主的主页……
ihuotui
2017-08-24 01:04:24 +08:00
@zjp 说话毫无根据,不经思考,是不是
GoGoGoBoy
2017-08-24 01:05:59 +08:00
@guyeuro 拿出个 bencbenchmark 出来啊。。。lambda 调用指令生成静态方法耗时???原罪?
GoGoGoBoy
2017-08-24 01:08:32 +08:00
@zjp 我也是。。。不说了。。。楼主你确定看过源码????
guyeuro
2017-08-24 01:16:32 +08:00
@GoGoGoBoy 所以你意思 stream().forEach(item->func()) 不比 for 循环耗时?
zhouheyang0919
2017-08-24 08:29:56 +08:00
@guyeuro 即使 JVM 没有做更多优化,lambda 带来的开销也只是 function call overhead,1-2 ns / op 而已。
ArthurKing
2017-08-24 08:36:34 +08:00
对 ArrayList 遍历的话,lambda 会慢一些,最快的是通过下标遍历
acoder2013
2017-08-24 09:37:23 +08:00
哈哈
hand515
2017-08-24 09:40:39 +08:00
我觉得 lamda 只是个语法糖,不会导致性能下降一半

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/385311

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX