gpt4 book ai didi

Groovy:sum() 是否比使用 inject 计算 sum 更有效?

转载 作者:行者123 更新时间:2023-12-05 08:34:21 24 4
gpt4 key购买 nike

执行 [1, 3, 5].sum() 的速度明显快于 [1, 3, 5].inject( 0, {x, y -> x + y }?

最佳答案

查看以下基准:

@Grab(group='org.gperfutils', module='gbench', version='0.4.3-groovy-2.4')

def b = benchmark {
'simple-sum' {
[1, 3, 5].sum()
}
'inject-sum' {
[1, 3, 5].inject(0, { x, y -> x + y })
}
}
b.prettyPrint()

输出:

Environment
===========
* Groovy: 2.4.0
* JVM: Java HotSpot(TM) 64-Bit Server VM (25.5-b02, Oracle Corporation)
* JRE: 1.8.0_05
* Total Memory: 283.5 MB
* Maximum Memory: 3641 MB
* OS: Mac OS X (10.10.1, x86_64)

Options
=======
* Warm Up: Auto (- 60 sec)
* CPU Time Measurement: On

user system cpu real

simple-sum 218 2 220 226
inject-sum 270 2 272 276

输出表明它几乎相同 - sum 几乎在每次尝试中都快一点,但差异并不显着。还有一个look sum 是如何实现的。在这种简单的情况下,它可能会更快,但在更高级的情况下,结果可能会相反。

关于Groovy:sum() 是否比使用 inject 计算 sum 更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29078722/

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