小编PSc*_*ede的帖子

如何在scala中优化这个短因子函数?(创造50000 BigInts)

我已经比较了scala版本

(BigInt(1) to BigInt(50000)).reduce(_ * _)
Run Code Online (Sandbox Code Playgroud)

到python版本

reduce(lambda x,y: x*y, range(1,50000))
Run Code Online (Sandbox Code Playgroud)

事实证明,scala版本比python版本长了大约10倍.

我猜,一个很大的区别是python可以使用其原生long类型而不是为每个数字创建新的BigInt对象.但scala中有解决方法吗?

optimization scala function factorial lazy-evaluation

14
推荐指数
2
解决办法
2209
查看次数