Walter Bright:
> If you want to conclude that Python is better at processing files, you need 
> to 
> show it using each language doing it a way well suited to that language, 
> rather 
> than burdening one so it uses the same method as the less powerful one.

byLine() yields a char[], so if you want to do most kinds of strings processing 
or you want to store the line (or parts of it), you have to idup it. So in this 
case Python is not significantly less powerful than D.

You can of course use the raw char[], but then you lose the advantages 
advertised when you have introduced the safer immutable D2 strings. And in many 
situations you have to dup the char[] anyway, otherwise your have all kinds of 
bugs, that Python lacks. In D1 to avoid it I used to use dup more often than 
necessary. I have explained this in the bug 4474.

In this newsgroup my purpose it to show D faults, suggest improvements, etc. In 
this case my purpose was just to show that byLine()+idup is slow. And you have 
to thankful for my benchmarks. In my dlibs1 for D1 I have a xio module that 
reads files by line that is faster than iterating on a BufferedFile, so it's 
not a limit of the language, it's Phobos that has a performance bug that can be 
improved.

Bye,
bearophile

Reply via email to