Hi everybody,

I was doing an assignment in Java for my university concerning a program that reads, modifies and writes CSV files, when I suddenly had the idea of implementing parts of this in Haskell for fun.

When I finished the Haskell programm, I was disappointed by the performance:
To parse a 200k lines CSV file, insert a line (yes I know i could insert a line without parsing the file, that's just an example) at pos. 199999 and write the file again, the Java program takes 1.1 seconds while the Haskell program takes 12.5 seconds.

I have read Don's blog post but am unsure how to implement his tips into my program, as I am still kind of a Haskell beginner.

The source code (40 lines incl. comments and empty lines) and the 200k CSV file I used for testing and a smaller CSV file demonstrating the special easy-to-parse CSV syntax are available on my ftp server,

ftp://baah.servegame.org/public/haskell

The call syntax is
<program> <csv file> <line to insert>
e.g.
main lang.csv "test","this","line"

I haven't posted the source code here directly because I thought it might be too long.

If someone here finds the time to look at my code and give me some hints, that would really be nice.


Regards
Philip
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to