Groovy / Grails медленно читает большой CSV-файл

У меня большой CSV-файл (168 МБ, 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 ОС: Linux

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]