A file reading benchmark
bearophileHUGS at lycos.com
Fri Feb 17 19:25:05 PST 2012
> If you're going to benchmark reading a file line by line, that's what your code
> should do. But that isn't what it does, it conflates it with appending to an array.
I have used the benchmark presented on Reddit.
I understand that a read-only benchmark is more useful for D developers. Removing the storing of lines the code is slower than equivalent Python code still.
>Bearophile, when comparing a deque to a classic vector, of course the deque is going to win. This has nothing to do with D, and everything to do with writing a good algorithm.<
In this specific case you are wrong: in Python if I replace the deque with a list (that is a dynamic array), the runtime grows only by less than 0.2 seconds. I know this benchmark is about Phobos not about D.
> Also, Appender has known performance problems with large appends (Issue 5813 http://d.puremagic.com/issues/show_bug.cgi?id=5813 , I'm currently folding in Vladimir's suggestions and generating a pull request)<
OK. We'll see. But the File.byLine() is slower than file by line reading, regardless appending to deques of arrays or appenders.
More information about the Digitalmars-d