bearophile wrote:
Walter Bright:
bearophile wrote:
In the D code I have added an idup to make the comparison more fair,
because in the Python code the "line" is a true newly allocated line, you
can safely use it as dictionary key.
So it is with byLine, too. You've burdened D with double the amount of
allocations.

I think you are wrong two times:

1) byLine() doesn't return a newly allocated line, you can see it with this
small program:

import std.stdio: File, writeln;

void main(string[] args) { char[][] lines; auto file = File(args[1]); foreach
(rawLine; file.byLine()) { writeln(rawLine.ptr); lines ~= rawLine; } file.close(); }


Its output shows that all "strings" (char[]) share the same pointer:

14E5E00 14E5E00 14E5E00 14E5E00 14E5E00 14E5E00 14E5E00 ...

eh, you're right. the phobos documentation for byLine needs to be fixed.


You can't do this in Python, but this is not what I want to test.

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.

Reply via email to