Thread overview
exe size increased with dwt2
Mar 29, 2009
yidabu
Mar 29, 2009
Frank Benoit
Mar 29, 2009
torhu
Mar 30, 2009
yidabu
Apr 05, 2009
torhu
Apr 06, 2009
yidabu
March 29, 2009
I tested a app (with tango 0.99.8, dmd 1.041):

2.25 MB with dwt-win
3.06 MB with dwt2

what's causes this?

-- 
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/


March 29, 2009
yidabu schrieb:
> I tested a app (with tango 0.99.8, dmd 1.041):
> 
> 2.25 MB with dwt-win
> 3.06 MB with dwt2
> 
> what's causes this?
> 

Hm, good question.
There are now more modules in base, that is because I merged dwthelper
and dwtxhelper. Also the java classes are more precisely remodelled.
There are less classes combined in a single modules.
Nevertheless this seems to me not enough an argument for this size
increase. I hope, at some day a compiler guru will take a look at this
issue.
March 29, 2009
On 29.03.2009 14:06, yidabu wrote:
> I tested a app (with tango 0.99.8, dmd 1.041):
>
> 2.25 MB with dwt-win
> 3.06 MB with dwt2
>
> what's causes this?
>

Did you build both in the same way?  I assume you know that if you build the library with dsss with oneatatime=yes, your executable will be smaller then if you use the rake script?  If I recall correctly, the rake script hands all files to dmd at once.

Assuming you built both the same way, there's an easy way of checking what's causing the size difference.  You can build your app directly with dsss, with oneatatime=yes.  Don't build the lib separately first, let dsss do it all in one operation.  Or you could try with oneatatime=no to speed it up, but the object file sizes won't be right then.

Do that with the same test app, using both dwt-win and dwt2.  Then you can compare the object files that were created.  See if there are more files used with dwt2, if they are bigger, etc.

Of course, you could look at the .map file created when linking with /detailedmap, but that's harder to figure out.  I've never bothered.
March 30, 2009
On Sun, 29 Mar 2009 19:03:03 +0200
torhu <no@spam.invalid> wrote:

> id you build both in the same way?  I assume you know that if you build the library with dsss with oneatatime=yes, your executable will be smaller then if you use the rake script?  If I recall correctly, the rake script hands all files to dmd at once.

I build dwt.lib by dsss, oneatatime=yes
build dwt2 by Rake

> Assuming you built both the same way, there's an easy way of checking what's causing the size difference.  You can build your app directly with dsss, with oneatatime=yes.  Don't build the lib separately first, let dsss do it all in one operation.  Or you could try with oneatatime=no to speed it up, but the object file sizes won't be right then.

I buil app by dmd directly with same parameters.

> Do that with the same test app, using both dwt-win and dwt2.  Then you can compare the object files that were created.  See if there are more files used with dwt2, if they are bigger, etc.
> 
> Of course, you could look at the .map file created when linking with /detailedmap, but that's harder to figure out.  I've never bothered.

Thanks.

-- 
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/


April 05, 2009
On 29.03.2009 14:06, yidabu wrote:
> I tested a app (with tango 0.99.8, dmd 1.041):
>
> 2.25 MB with dwt-win
> 3.06 MB with dwt2
>

Just want to mention that I've just ported my app to the new dwt, and it works like a charm. :)

The executable size went up from 2.3 MB to 3.2 MB.  But this is when building with the rake script, I haven't tried building each file separately, using -lib or anything yet.
April 06, 2009
On Sun, 05 Apr 2009 22:53:43 +0200
torhu <no@spam.invalid> wrote:

> On 29.03.2009 14:06, yidabu wrote:
> > I tested a app (with tango 0.99.8, dmd 1.041):
> >
> > 2.25 MB with dwt-win
> > 3.06 MB with dwt2
> >
> 
> Just want to mention that I've just ported my app to the new dwt, and it works like a charm. :)
> 
> The executable size went up from 2.3 MB to 3.2 MB.  But this is when building with the rake script, I haven't tried building each file separately, using -lib or anything yet.

I ported an app to the new dwt, the executable size went up from 4.3MB to 10.9MB, It's a compiler issue since dmd 1.038, I think.


-- 
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/