This is a fast csv reader for erlang. At least it must be very fast.
Ruby is required for simple script fill.rb that creates example.csv Target is 300 000 lines and about 70 MB size.
csv_reader$ time wc -l example.csv 300001 example.csv real 0m0.105s user 0m0.078s sys 0m0.027s
So it means that we should take at most 200 milliseconds for reading 300 000 lines of CSV in erlang.
But now it takes 4000 milliseconds:
csv_reader$ make bench ./rebar compile ==> csv_reader (compile) ./csv_bench.erl example.csv Load csv_reader: ok Load time: 4559
Plain naive reading and parsing in erlang takes ages.