Making byLine faster: we should be able to delegate this

Tobias Pankrath via Digitalmars-d digitalmars-d at puremagic.com
Mon Mar 23 12:25:07 PDT 2015


> I made the same test in C# using a 30MB plain ASCII text file. 
> Compared to fastest method proposed by Andrei, results are not 
> the best:
>
> D:
> readText.representation.count!(c => c == '\n') - 428 ms
> byChunk(4096).joiner.count!(c => c == '\n') - 1160 ms
>
> C#:
> File.ReadAllLines.Length - 216 ms;
>
> Win64, D 2.066.1, Optimizations were turned on in both cases.
>
> The .net code is clearly not performance oriented 
> (http://referencesource.microsoft.com/#mscorlib/system/io/file.cs,675b2259e8706c26), 
> I suspect that .net runtime is performing some optimizations 
> under the hood.

Does the C# version validate the input? Using std.file.read 
instead of readText.representation halves the runtime on my 
machine.


More information about the Digitalmars-d mailing list