gpt4 book ai didi

Groovy:for..in 比 .each 快得多吗?

转载 作者:行者123 更新时间:2023-12-04 07:20:46 26 4
gpt4 key购买 nike

我很好奇 for..in应该优先于 .each出于性能原因。

最佳答案

For .. in是标准语言流控制的一部分。

而是 each调用一个闭包所以有额外的开销。
.each {...}是语法糖等价于方法调用.each({...})
此外,由于它是一个闭包,在 each不能使用的代码块 breakcontinue语句来控制循环。

http://kunaldabir.blogspot.it/2011/07/groovy-performance-iterating-with.html

更新了基准 Java 1.8.0_45 Groovy 2.4.3:

  • 3327981 每个{}
  • 320949 for(){

  • 这是另一个具有 100000 次迭代的基准测试:
    lines = (1..100000)
    // with list.each {}
    start = System.nanoTime()
    lines.each { line->
    line++;
    }
    println System.nanoTime() - start

    // with loop over list
    start = System.nanoTime()
    for (line in lines){
    line++;
    }
    println System.nanoTime() - start

    结果:
  • 261062715 每个{}
  • 64518703 for(){}
  • 关于Groovy:for..in 比 .each 快得多吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30661993/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com