Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 12 total |
DBISAM3 to ElevateDB - EXE size |
Fri, Apr 11 2014 4:52 PM | Permanent Link |
Jeff Cook Aspect Systems Ltd | Hi
I'm almost through my oft interrupted DBISAM3 to ElevateDB conversion. (Delphi 7 to XE too) I've had to rewrite quite a bit of stuff, especially in relation to my extensive use of Memory tables, but in the process have found plenty of places to streamline my code, so I probably have fewer lines of code than before. I looked at my EXE size and was shocked(!) to see that it had leapt from about 10Mb to 34Mb. This seems wrong - I had expected a small increase with the extra functionality of ElevateDB - but can't think of anything that would cause a huge increase like this. Is it normal? Maybe I have stuff in my "uses" clauses that are redundant? If so, how would I track them down? Cheers Jeff -- Jeff Cook Aspect Systems Ltd www.aspect.co.nz |
Sat, Apr 12 2014 3:16 AM | Permanent Link |
William Sigmund | That's the kind of increase in exe size I have seen, though not when
converting to EDB (that's to come). In my case it was caused by the skin components of DevExpress. If you're a DevExpress user, untick the ExpressSkin items in the design time package list. William |
Sat, Apr 12 2014 3:20 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Jeff
That reads more like the move from D7 to DXE than from DBISAM to ElevateDB. If you look on the Embarcadero forums there are frequent comments about this. Partly due to the new RTTI and partly due to UNICODE, possibly due to using a debug rather than a release profile and (I'd guess) partly due to just general code bloat. There's a tool on the web (MapFileStats) which will analyse your project and tell you the size of various chunks. I used it in November last year - ElevateDB was 17% of my app so I doubt it accounts for the increase you're seeing. Blame Delphi Roy Lambert |
Sat, Apr 12 2014 8:49 PM | Permanent Link |
Raul Team Elevate | On 4/11/2014 4:52 PM, Jeff Cook wrote:
> I looked at my EXE size and was shocked(!) to see that it had leapt from > about 10Mb to 34Mb. > > This seems wrong - I had expected a small increase with the extra > functionality of ElevateDB - but can't think of anything that would cause a > huge increase like this. > This does appear bit excessive - we're seeing approx 25% size increase for exact same codebase on D2007 and XE2 (both ansistring so no unicode at all - if you're swithing to unicode would expect additional small increase). Make sure you're actually doing a release build in XE (i.e. double click the Release under Build Configuration as just picking release config in options no longer changes your active config). If you're not using RTTI then adding this into the drp right after the program line (before uses) might help as well: {$WEAKLINKRTTI ON} {$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} Raul |
Sun, Apr 13 2014 10:47 PM | Permanent Link |
Jeff Cook Aspect Systems Ltd | "William Sigmund" wrote:
That's the kind of increase in exe size I have seen, though not when converting to EDB (that's to come). In my case it was caused by the skin components of DevExpress. If you're a DevExpress user, untick the ExpressSkin items in the design time package list. Thanks William Can't blame it on DevExpress as I don't use it (yet). Cheers Jeff |
Sun, Apr 13 2014 10:50 PM | Permanent Link |
Jeff Cook Aspect Systems Ltd | Roy Lambert wrote:
That reads more like the move from D7 to DXE than from DBISAM to ElevateDB. If you look on the Embarcadero forums there are frequent comments about this. Partly due to the new RTTI and partly due to UNICODE, possibly due to using a debug rather than a release profile and (I'd guess) partly due to just general code bloat. There's a tool on the web (MapFileStats) which will analyse your project and tell you the size of various chunks. I used it in November last year - ElevateDB was 17% of my app so I doubt it accounts for the increase you're seeing. Blame Delphi -- Thanks Roy MapFileStats tells me that EDB is only 5.6% of my app, so it can't be that. Very mysterious. Cheers Jeff |
Sun, Apr 13 2014 11:09 PM | Permanent Link |
Jeff Cook Aspect Systems Ltd | Raul wrote:
>This does appear bit excessive - we're seeing approx 25% size increase >or exact same codebase on D2007 and XE2 (both ansistring so no unicode >t all - if you're swithing to unicode would expect additional small >increase). > >Make sure you're actually doing a release build in XE (i.e. double click >the Release under Build Configuration as just picking release config in >options no longer changes your active config). > >If you're not using RTTI then adding this into the drp right after the program line (before uses) might help as well: >{$WEAKLINKRTTI ON} >{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} Hi Raul Yes, there was change to UNICODE too. I tried changing to the configuration (see attached screen shot) but that seems to make no difference. I had expected single stepping and breakpoints not to work if I did this (and perhaps madExcept to fail too) but everything seems normal. I confess I have paid little attention to all the compile/link/debug options over the last 15 years of Delphi. I have basically used it as it came out of the box and am ignorant of all the options. The weaklink directive only reduced the EXE by less than 100kb. Interestingly, UPX previously compressed the EXE down from 10Mb to 2.5Mb, now it compresses my bloated 35Mb down to 7Mb - similar ratios Cheers and thanks to you, Rail + Roy and Sigmund Attachments: debug option.jpg |
Sun, Apr 13 2014 11:51 PM | Permanent Link |
Jeff Cook Aspect Systems Ltd | <Jeff Cook> wrote in message
news:F39BC0AC-1861-49CF-BD44-E0C37713B13C@news.elevatesoft.com... > > I tried changing to the configuration (see attached screen shot) but that > seems to make no difference. I had expected single stepping and > breakpoints not to work if I did this (and perhaps madExcept to fail too) > but everything seems normal. I confess I have paid little attention to > all the compile/link/debug options over the last 15 years of Delphi. I > have basically used it as it came out of the box and am ignorant of all > the options. > In the Delphi XE compile messages it said:- Compiling apm.dproj (Debug, Win32) .... so maybe my compile options aren't being used? Cheers Jeff -- Jeff Cook Aspect Systems Ltd www.aspect.co.nz |
Mon, Apr 14 2014 3:31 AM | Permanent Link |
Adam Brett Orixa Systems | Jeff,
I had a similar problem moving up from D7 to XE2. My exe size went from 11 to 27meg. I fished around for reasons (I am sure there are many!) and this helped a bit, but in the end I started using a product called UPX. >>The Ultimate Packer for eXecutables >>Markus Oberhumer, Laszlo Molnar & John Reiser >>http://upx.sourceforge.net This is a neat tool which can be incorporated into your POST BUILD events, and which seamlessly compressses your EXE. It leads to very slightly longer loading times for the user (hardly noticeable in my experience) and reduces EXE to about 1/4 of prior size. Mine are now 7meg. As it lengthens build-time I created a specific build configuration to use UPX, so that in general debugging UPX doesn't fire. It has worked well for me without any problems, and its free. |
Mon, Apr 14 2014 9:02 AM | Permanent Link |
Raul Team Elevate | On 4/13/2014 11:09 PM, Jeff Cook wrote:
> I tried changing to the configuration (see attached screen shot) but that seems to make no difference. I had expected single stepping and breakpoints not to work if I did this (and perhaps madExcept to fail too) but everything seems normal. I confess I have paid little attention to all the compile/link/debug options over the last 15 years of Delphi. I have basically used it as it came out of the box and am ignorant of all the options. I'd say you're still in debug. The screenshot you're showing has no effect on what the active configuration is - this is one of the changes in newer delphis. I don't have XE but in XE2 and XE5 you actually need to change it in the project manager window (right hand side where the files are - there should be a "Build Configuration" tree node with debug and release underneath) - double click on release to make it active and then do a clean and rebuild. Raul Attachments: delphi_buiild_config.jpg |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Monday, May 6, 2024 at 01:09 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |