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

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

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

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    用了一次,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   ·   实用小工具   ·   5429 人在线   最高记录 6547   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:51 · PVG 11:51 · LAX 20:51 · JFK 23:51
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com