Jump to page: 1 2
Thread overview
dmd -lib and executable size (+10 MB)
Jul 31, 2008
yidabu
Aug 06, 2008
Lionello Lunesu
Aug 06, 2008
Bill Baxter
Aug 06, 2008
Lionello Lunesu
Aug 06, 2008
bearophile
Aug 06, 2008
Lionello Lunesu
Aug 06, 2008
BCS
Aug 06, 2008
Sean Kelly
Aug 10, 2008
Moritz Warning
Aug 10, 2008
Extrawurst
Aug 10, 2008
bearophile
Aug 10, 2008
Moritz Warning
Aug 10, 2008
bearophile
Aug 10, 2008
Michael P.
Aug 10, 2008
Michael P.
Aug 10, 2008
Extrawurst
Aug 07, 2008
Lionello Lunesu
July 31, 2008
a program link in dsss builded dwt.lib, the executable size is 5 MB link in "dmd -lib" builded dwt.lib, the executable size is 15 MB.

what's the issue?


tested with dmd 1.031, dwt-win recent svn, dsss 0.75



-- 
yidabu <yidabu.spam@gmail.com> http://www.dsource.org/projects/dwin

D 语言-中文(D Chinese): http://www.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/ http://dwin.d-programming-language-china.org/ http://scite4d.d-programming-language-china.org/


August 06, 2008
I got curious and wrote a batch file to test the exe sizes for all versions of dmd.exe in my local repository. The D file only has "void main() {}".

There's clearly a jump in filesize since v1.032, when the size went from 79KB to 124KB.

Here's the complete result:

Digital Mars D Compiler v0.173
70.172  t.exe

Digital Mars D Compiler v0.174
68.636  t.exe

Digital Mars D Compiler v0.175
70.172  t.exe

Digital Mars D Compiler v0.176
68.636  t.exe

Digital Mars D Compiler v0.177
69.148  t.exe

Digital Mars D Compiler v0.178
69.148  t.exe

Digital Mars D Compiler v1.0
69.148  t.exe

Digital Mars D Compiler v1.001
73.244  t.exe

Digital Mars D Compiler v1.002
73.244  t.exe

Digital Mars D Compiler v1.003
73.244  t.exe

Digital Mars D Compiler v1.004
73.244  t.exe

Digital Mars D Compiler v1.005
73.756  t.exe

Digital Mars D Compiler v1.006
73.756  t.exe

Digital Mars D Compiler v1.007
73.756  t.exe

Digital Mars D Compiler v1.009
73.756  t.exe

Digital Mars D Compiler v1.010
75.804  t.exe

Digital Mars D Compiler v1.011
75.804  t.exe

Digital Mars D Compiler v1.012
75.804  t.exe

Digital Mars D Compiler v1.013
75.804  t.exe

Digital Mars D Compiler v1.014
76.316  t.exe

Digital Mars D Compiler v1.015
76.828  t.exe

Digital Mars D Compiler v1.017
76.828  t.exe

Digital Mars D Compiler v1.018
76.828  t.exe

Digital Mars D Compiler v1.019
76.828  t.exe

Digital Mars D Compiler v1.020
76.828  t.exe

Digital Mars D Compiler v1.021
76.828  t.exe

Digital Mars D Compiler v1.022
76.828  t.exe

Digital Mars D Compiler v1.023
78.364  t.exe

Digital Mars D Compiler v1.024
79.900  t.exe

Digital Mars D Compiler v1.025
79.900  t.exe

Digital Mars D Compiler v1.026
79.900  t.exe

Digital Mars D Compiler v1.027
79.900  t.exe

Digital Mars D Compiler v1.028
79.388  t.exe

Digital Mars D Compiler v1.029
79.900  t.exe

Digital Mars D Compiler v1.030
79.900  t.exe

Digital Mars D Compiler v1.031
79.388  t.exe

Digital Mars D Compiler v1.032
124.444  t.exe

Digital Mars D Compiler v1.033
124.444  t.exe

August 06, 2008
Ha ha.  You are dedicated, man.
Here's a small tribute to your dedication:
http://www.billbaxter.com/techblog/?p=9

--bb

On Wed, Aug 6, 2008 at 2:53 PM, Lionello Lunesu <lionello@lunesu.remove.com> wrote:
> I got curious and wrote a batch file to test the exe sizes for all versions of dmd.exe in my local repository. The D file only has "void main() {}".
>
> There's clearly a jump in filesize since v1.032, when the size went from 79KB to 124KB.
>
> Here's the complete result:
>
> Digital Mars D Compiler v0.173
> 70.172  t.exe
>
> Digital Mars D Compiler v0.174
> 68.636  t.exe
>
> Digital Mars D Compiler v0.175
> 70.172  t.exe
>
> Digital Mars D Compiler v0.176
> 68.636  t.exe
>
> Digital Mars D Compiler v0.177
> 69.148  t.exe
>
> Digital Mars D Compiler v0.178
> 69.148  t.exe
>
> Digital Mars D Compiler v1.0
> 69.148  t.exe
>
> Digital Mars D Compiler v1.001
> 73.244  t.exe
>
> Digital Mars D Compiler v1.002
> 73.244  t.exe
>
> Digital Mars D Compiler v1.003
> 73.244  t.exe
>
> Digital Mars D Compiler v1.004
> 73.244  t.exe
>
> Digital Mars D Compiler v1.005
> 73.756  t.exe
>
> Digital Mars D Compiler v1.006
> 73.756  t.exe
>
> Digital Mars D Compiler v1.007
> 73.756  t.exe
>
> Digital Mars D Compiler v1.009
> 73.756  t.exe
>
> Digital Mars D Compiler v1.010
> 75.804  t.exe
>
> Digital Mars D Compiler v1.011
> 75.804  t.exe
>
> Digital Mars D Compiler v1.012
> 75.804  t.exe
>
> Digital Mars D Compiler v1.013
> 75.804  t.exe
>
> Digital Mars D Compiler v1.014
> 76.316  t.exe
>
> Digital Mars D Compiler v1.015
> 76.828  t.exe
>
> Digital Mars D Compiler v1.017
> 76.828  t.exe
>
> Digital Mars D Compiler v1.018
> 76.828  t.exe
>
> Digital Mars D Compiler v1.019
> 76.828  t.exe
>
> Digital Mars D Compiler v1.020
> 76.828  t.exe
>
> Digital Mars D Compiler v1.021
> 76.828  t.exe
>
> Digital Mars D Compiler v1.022
> 76.828  t.exe
>
> Digital Mars D Compiler v1.023
> 78.364  t.exe
>
> Digital Mars D Compiler v1.024
> 79.900  t.exe
>
> Digital Mars D Compiler v1.025
> 79.900  t.exe
>
> Digital Mars D Compiler v1.026
> 79.900  t.exe
>
> Digital Mars D Compiler v1.027
> 79.900  t.exe
>
> Digital Mars D Compiler v1.028
> 79.388  t.exe
>
> Digital Mars D Compiler v1.029
> 79.900  t.exe
>
> Digital Mars D Compiler v1.030
> 79.900  t.exe
>
> Digital Mars D Compiler v1.031
> 79.388  t.exe
>
> Digital Mars D Compiler v1.032
> 124.444  t.exe
>
> Digital Mars D Compiler v1.033
> 124.444  t.exe
>
>
August 06, 2008
Lionello Lunesu:
> Digital Mars D Compiler v1.031
> 79.388  t.exe
> Digital Mars D Compiler v1.032
> 124.444  t.exe

With the sources of 1.031 and 1.032 someone (the D developers too) can try to take the sources of 1.031 and add the changes of 1.032 one after the other testing what is the part that produces this executable swelling, to solve this problem.

Maybe the build system of D can grow some "performance tests" (using both normal compilation and full optimized compilation) to keep an eye on:
- running time of some benchmarks
- their executable size
- the time the compiler needs to compile them

Bye,
bearophile
August 06, 2008
Bill Baxter wrote:
> Ha ha.  You are dedicated, man.
> Here's a small tribute to your dedication:
> http://www.billbaxter.com/techblog/?p=9
> 
> --bb
> 

:O that's really too much of an honor! I was not kidding when I said I made a batch file; that's really all it was. Great graph by the way, that would have taken me much longer to make! :)

L.

(Well, technically, it was a .btm file; did you know 4NT/TCC just became freeware? http://jpsoft.com/ )
August 06, 2008
bearophile wrote:
> Lionello Lunesu:
>> Digital Mars D Compiler v1.031
>> 79.388  t.exe
>> Digital Mars D Compiler v1.032
>> 124.444  t.exe
> 
> With the sources of 1.031 and 1.032 someone (the D developers too) can try to take the sources of 1.031 and add the changes of 1.032 one after the other testing what is the part that produces this executable swelling, to solve this problem.
> 
> Maybe the build system of D can grow some "performance tests" (using both normal compilation and full optimized compilation) to keep an eye on:
> - running time of some benchmarks
> - their executable size
> - the time the compiler needs to compile them
> 
> Bye,
> bearophile

I sure miss Thomas's DStress statistics. I've been trying to get his test suite to work under Windows, but I should spent more time on it.

L.
August 06, 2008
Reply to Lionello,


> I sure miss Thomas's DStress statistics. I've been trying to get his
> test suite to work under Windows, but I should spent more time on it.
> 
> L.
> 

what ever happened to that anyway?


August 06, 2008
BCS wrote:
> Reply to Lionello,
> 
> 
>> I sure miss Thomas's DStress statistics. I've been trying to get his
>> test suite to work under Windows, but I should spent more time on it.
>>
>> L.
>>
> 
> what ever happened to that anyway?

Thomas dropped off the map shortly after the D conference last year.


Sean
August 07, 2008
I also checked the filesizes for "void main(){}" in the dmd2 branch. A similar jump in filesize was introduced with v2.016, when the exe went from 81KB to 133KB.

Full log:

Digital Mars D Compiler v2.000
76.828  t.exe

Digital Mars D Compiler v2.001
76.828  t.exe

Digital Mars D Compiler v2.002
76.828  t.exe

Digital Mars D Compiler v2.003
76.828  t.exe

Digital Mars D Compiler v2.004
78.364  t.exe

Digital Mars D Compiler v2.005
78.364  t.exe

Digital Mars D Compiler v2.006
79.388  t.exe

Digital Mars D Compiler v2.007
79.900  t.exe

Digital Mars D Compiler v2.008
109.084  t.exe

Digital Mars D Compiler v2.009
80.924  t.exe

Digital Mars D Compiler v2.010
80.924  t.exe

Digital Mars D Compiler v2.011
81.436  t.exe

Digital Mars D Compiler v2.012
80.924  t.exe

Digital Mars D Compiler v2.013
80.924  t.exe

Digital Mars D Compiler v2.014
82.460  t.exe

Digital Mars D Compiler v2.015
80.924  t.exe

Digital Mars D Compiler v2.016
133.148  t.exe

Digital Mars D Compiler v2.017
133.148  t.exe

August 10, 2008
On Wed, 06 Aug 2008 13:53:07 +0800, Lionello Lunesu wrote:

> I got curious and wrote a batch file to test the exe sizes for all versions of dmd.exe in my local repository. The D file only has "void main() {}".
> 
> There's clearly a jump in filesize since v1.032, when the size went from 79KB to 124KB.
> 
> Here's the complete result:
[..]
> Digital Mars D Compiler v1.033
> 124.444  t.exe

Can anyone confirm that this is resolved now with dmd v1.034? My test shows that the binary size is back to 81KB (stripped).
« First   ‹ Prev
1 2