我有一个很大的csv文件(168MB,149K行,125列)。 我想用以下代码得到第三列的总和:
def tot = 0
new File("/path/to/big/file.csv").splitEachLine(";") { row ->
try {
tot += row[2].toBigDecimal()
} catch(Exception e) {}
}
println tot
需要11秒:
root@front1:~# time groovy test.groovy
8691797.09805144
real 0m10.965s
user 0m9.977s
sys 0m0.500s
root@front1:~#
我用php编写的类似代码只需2秒即可在同一台机器上获得相同的结果。
为了获得相同的执行时间,我是否应该在groovy / grails中进行任何调整或更好的代码?
由于
Groovy版本:2.3.8 JVM:1.6.0_29供应商:Oracle Corporation操作系统:Linux