www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - exe size increased with dwt2

reply yidabu <dyuyan.spam gmail.com> writes:
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/
Mar 29 2009
next sibling parent Frank Benoit <keinfarbton googlemail.com> writes:
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.
Mar 29 2009
prev sibling next sibling parent torhu <no spam.invalid> writes:
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.
Mar 29 2009
prev sibling next sibling parent yidabu <dyuyan.spam gmail.com> writes:
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/
Mar 29 2009
prev sibling next sibling parent torhu <no spam.invalid> writes:
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.
Apr 05 2009
prev sibling parent yidabu <dyuyan.spam gmail.com> writes:
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/
Apr 05 2009