Thread overview |
---|
December 09, 2015 byLine and readln performance with LDC | ||||
---|---|---|---|---|
| ||||
I'm seeing dramatically slower runtime performance using byLine and readln when compiling with LDC than with DMD. Has anyone seen this behavior? Example: import std.stdio: File, KeepTerminator, writeln; void main(string[] args) { if (args.length != 2) { writeln("Provide exactly one filename"); return; } auto inputStream = args[1].File(); size_t lc = 0; foreach (line; inputStream.byLine(KeepTerminator.yes)) { ++lc; } writeln(lc); } Using a 1.7gb, 37 million line file: - ldc2 (-release -O): 37 seconds - dmd (-release -O): 4 seconds Same results with readln rather than byLine. However, byChunk is fast, even with small chunks like 40 bytes. This is using: Mac OS X (10.10.5); DMD 2.068; LDC 0.16.1 --Jon |
December 09, 2015 Re: byLine and readln performance with LDC | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jon D | LDC 0.16.1 is based on DMD 2.067.1 |
December 10, 2015 Re: byLine and readln performance with LDC | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kagamin | On Wednesday, 9 December 2015 at 08:43:03 UTC, Kagamin wrote: > LDC 0.16.1 is based on DMD 2.067.1 Ah, this enhancement: https://issues.dlang.org/show_bug.cgi?id=11810. Thanks, that's a rather significant optimization. |
Copyright © 1999-2021 by the D Language Foundation