Binary size optimization

Imperatorn johan_forsberg_86 at hotmail.com
Thu Sep 28 08:39:33 UTC 2023


On Thursday, 28 September 2023 at 08:38:42 UTC, Imperatorn wrote:
> Today I randomly tried compiling a hello world using DMD, LDC 
> and gcc (yes, not gdc)
>
> I compared binary sizes and something looked off. The D ones 
> were much larger.
>
> Sometimes 10x, with some optimizations still about 2x.
>
> But, then I tried using shared default lib and the size is even 
> smaller than the one produced by gcc -Os!
>
> I just did two versions, one with betterC with extern(C) and 
> one with std.stdio : printf
> (I didn't try dmd since I couldn't figure out easily how to 
> share lib)
>
> [1] ldc2 -O -release -link-defaultlib-shared -betterC app.d
> [2] ldc2 -O -release -link-defaultlib-shared app.d
>
> Both are smaller than the gcc-version.
>
> How is this possible? What are the consequences and trade-offs?
>
> Maybe this should have been posted in Learn instead, but idk.
>
> Thanks

Oops, typo, I actually posted it in learn :D


More information about the Digitalmars-d-learn mailing list