!string(float) Is too heavy

Stefan Koch uplink.coder at
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.
it's here:

More information about the Digitalmars-d mailing list