std.conv.to!string(float) Is too heavy
uplink.coder at googlemail.com
Tue Oct 12 16:05:19 UTC 2021
On Tuesday, 12 October 2021 at 14:47:21 UTC, Hipreme wrote:
> I have wrote a simple hello world using std.conv:
> import std.conv:to;
> import std.stdio;
> export void MAIN(float b)
> writeln("Hello World " ~ to!string(b));
> Building that with dmd app.d -lib creates 500KB lib
> With `-g`, it goes up to 800KB
> Using ldc, the build time goes up by 2 times.
> if you simply change from `float b` to `int b`, the lib goes
> down from 500KB to 60KB.
> The build times decreases by almost 10x (must check), but I can
> feel that anyway.
> Using std.conv greatly degrades a modularized workflow, by
> increasing a lot of build time and binary size. I needed
> implementing my own to! function to get a much better build
> time for my program.
`writeln` itself even for plain strings is already quite heavy.
I'd recommend using printf.
I also have a realtively lightweight `dtoa` function.
More information about the Digitalmars-d