Am Fri, 13 Sep 2013 13:45:58 +0200 schrieb "Dicebot" <pub...@dicebot.lv>:
> I was experimenting with `--gc-sections` effect on D code (with > great results) and have noticed that GDC binaries are much bigger > than DMD ones. I do understand that it is not a priority goal > right now but still curious, does anyone know what makes such > notable (~50%) difference? > (64-bit OS) > > -------- > import std.stdio, std.algorithm; > > void main() > { > auto arr = [ 1, 2, 3 ]; > writeln( arr.map!( a => a*2 )() ); > } > -------- > $ gdc -ofhello-gdc -O3 hello.d > $ dmd -ofhello-dmd -release -inline -O hello.d > $ ls -la > # ... > -rwxr-xr-x 1 dicebot users 819647 Sep 13 13:38 hello-dmd > -rwxr-xr-x 1 dicebot users 1386355 Sep 13 13:39 hello-gdc > ------- It seems like the gdc compiled program has more symbols for some reason: ---------- nm hello-dmd --defined-only | wc -l 3834 nm hello-gdc --defined-only | wc -l 5451 ---------- Here's a "diff" of the defined symbols: https://gist.github.com/jpf91/6550247