V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
guyeuro
V2EX  ›  问与答

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

  •  
  •   guyeuro · 2017-08-23 23:28:39 +08:00 · 3968 次点击
    这是一个创建于 2660 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用了一次,pv 下降不少

    16 条回复    2017-08-24 09:40:39 +08:00
    Sharuru
        1
    Sharuru  
       2017-08-23 23:32:15 +08:00
    ?
    GoGoGoBoy
        2
    GoGoGoBoy  
       2017-08-23 23:38:26 +08:00 via iPhone
    @Sharuru 什么鬼…
    guyeuro
        3
    guyeuro  
    OP
       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
        4
    twm  
       2017-08-23 23:43:27 +08:00 via iPhone
    和 pv 有什么关系呢
    jadecoder
        5
    jadecoder  
       2017-08-23 23:43:50 +08:00
    ?
    GoGoGoBoy
        6
    GoGoGoBoy  
       2017-08-23 23:43:55 +08:00 via iPhone
    @guyeuro 我知道啊。。。楼主说的话无厘头,lambdalambda 怎么耗时了,增加了并行计算 forkjoin 框架处理,使用得当性能当然提高
    guyeuro
        7
    guyeuro  
    OP
       2017-08-23 23:53:49 +08:00   ❤️ 1
    @GoGoGoBoy 至少对集合的流 lambda 表达式比 for 循环耗时
    zjp
        8
    zjp  
       2017-08-24 00:06:31 +08:00 via Android
    看了下楼主的主页……
    ihuotui
        9
    ihuotui  
       2017-08-24 01:04:24 +08:00 via iPhone
    @zjp 说话毫无根据,不经思考,是不是
    GoGoGoBoy
        10
    GoGoGoBoy  
       2017-08-24 01:05:59 +08:00 via iPhone
    @guyeuro 拿出个 bencbenchmark 出来啊。。。lambda 调用指令生成静态方法耗时???原罪?
    GoGoGoBoy
        11
    GoGoGoBoy  
       2017-08-24 01:08:32 +08:00 via iPhone
    @zjp 我也是。。。不说了。。。楼主你确定看过源码????
    guyeuro
        12
    guyeuro  
    OP
       2017-08-24 01:16:32 +08:00
    @GoGoGoBoy 所以你意思 stream().forEach(item->func()) 不比 for 循环耗时?
    zhouheyang0919
        13
    zhouheyang0919  
       2017-08-24 08:29:56 +08:00 via Android
    @guyeuro 即使 JVM 没有做更多优化,lambda 带来的开销也只是 function call overhead,1-2 ns / op 而已。
    ArthurKing
        14
    ArthurKing  
       2017-08-24 08:36:34 +08:00
    对 ArrayList 遍历的话,lambda 会慢一些,最快的是通过下标遍历
    acoder2013
        15
    acoder2013  
       2017-08-24 09:37:23 +08:00
    哈哈
    hand515
        16
    hand515  
       2017-08-24 09:40:39 +08:00
    我觉得 lamda 只是个语法糖,不会导致性能下降一半
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1038 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:22 · PVG 06:22 · LAX 14:22 · JFK 17:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.