On 26/10/2019 2:27 PM, 9898287 wrote:
Hi I want to find out what's causing my file writes to be so slow. I'm setting up buffer and locking the file and writing them to the file.

$ cat d.d && ldc2 -O5  d.d && time ./d >> /dev/null

You probably want -O3 not -O5.

void main() {
     import std.stdio;
     stdout.setvbuf(4096);
     stdout.lock();

     foreach(i; 0 .. 900_000_000)
         writef("Hello, {}\n", i);

I assume what you intended is:
writeln("Hello, ", i);

Also for format functions in D you should prefer the templated variation as it provides compile time verification of arguments e.g.

writef!"Hello, {}\n%d"(i);

Please note that {} is not a format specifier.
printf style functions (which is what Phobos uses as the basis) for format specifiers begin with a percentage sign.

Reply via email to