Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: EXE size difference D2007 - XE5



Permlink Replies: 27 - Last Post: Dec 22, 2014 12:54 AM Last Post By: Roy Lambert
Bo Berglund

Posts: 757
Registered: 10/23/02
EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 8:48 AM
I just wonder if I have done some misconfiguration of the IDE?
I have converted a D2006 project to work in XE5. The exe file produced
by D2007 is 1817 kb whereas the one from XE5 is 4725 kb.
I.e. a size increase of x 2.6

Is this normal or is there something I can do to reduce the footprint?

The only major difference between the two projects is that in D2007 I
used the opensource PngImage component to handle PNG files.
In XE5 I instead used Vcl.Imaging.Pngimage, which is a development of
the open source code after Embarcadero bought it and included it in
RAD Studio.
I use the exact same functions and syntax, but they are supplied from
a different source now. Only had to define a different uses unit.
Could this account for the big size difference?
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 9:08 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

I just wonder if I have done some misconfiguration of the IDE?
I have converted a D2006 project to work in XE5. The exe file
produced by D2007 is 1817 kb whereas the one from XE5 is 4725 kb.
I.e. a size increase of x 2.6

There have been a lot of changes since D2007. The switch to Unicode, new
enhanced RTTI, Generics and other compiler features, etc. That easily accounts
for such an increase in size.

--
Remy Lebeau (TeamB)
Roy Lambert

Posts: 1,063
Registered: 8/7/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 1:10 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy

I just wonder if I have done some misconfiguration of the IDE?
I have converted a D2006 project to work in XE5. The exe file
produced by D2007 is 1817 kb whereas the one from XE5 is 4725 kb.
I.e. a size increase of x 2.6

There have been a lot of changes since D2007. The switch to Unicode, new
enhanced RTTI, Generics and other compiler features, etc. That easily accounts
for such an increase in size.

I have seen the equivalent post a number of times. Being very simplistic I have major difficulties in believing that the enhancements quoted could lead to such a level of code bloat without some seriously sloppy programming (alternatively it could be following all of the top programming standards <G>)

I can understand enhanced RTTI adding some size in unless its turned off but unless Bo has altered his code to use Generics why should that make a difference? Ditto for compiler "eatures. If a "feature" means generating an extra 3Mb of garbage for no reason its a pretty poor one.

Roy Lambert
Helmuth J.H. Ad...

Posts: 115
Registered: 2/28/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 10:24 AM   in response to: Bo Berglund in response to: Bo Berglund
I just made a test with a very simple little program.

Delphi 2007 compiles it to 0.439 MB
Delphi XE Compiles it to 0.868 MB increase of 1.97
Delphi XE2 compiles it to 1.3 MB another increase of 1.49
Delphi XE7 Compiles it to 2,17 MB another increase 0f 1,66
Delphi XE5 is currently not installed on my PC.

Am 19.12.2014 um 17:48 schrieb Bo Berglund:
I just wonder if I have done some misconfiguration of the IDE?
I have converted a D2006 project to work in XE5. The exe file produced
by D2007 is 1817 kb whereas the one from XE5 is 4725 kb.
I.e. a size increase of x 2.6

Is this normal or is there something I can do to reduce the footprint?

The only major difference between the two projects is that in D2007 I
used the opensource PngImage component to handle PNG files.
In XE5 I instead used Vcl.Imaging.Pngimage, which is a development of
the open source code after Embarcadero bought it and included it in
RAD Studio.
I use the exact same functions and syntax, but they are supplied from
a different source now. Only had to define a different uses unit.
Could this account for the big size difference?

---
Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
http://www.avast.com

Bo Berglund

Posts: 757
Registered: 10/23/02
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 1:08 PM   in response to: Helmuth J.H. Ad... in response to: Helmuth J.H. Ad...
On Fri, 19 Dec 2014 10:24:33 -0800, Helmuth J.H. Adolph
<noreply at prodelphi dot de> wrote:

I just made a test with a very simple little program.

Delphi 2007 compiles it to 0.439 MB
Delphi XE Compiles it to 0.868 MB increase of 1.97
Delphi XE2 compiles it to 1.3 MB another increase of 1.49
Delphi XE7 Compiles it to 2,17 MB another increase 0f 1,66
Delphi XE5 is currently not installed on my PC.
So it looks like as time goes by more fluff is added even for the same
project...
I have upgraded to XE5 in Sept 2013 and now a little more than a year
thereafter there is XE7....
If I upgrade what will I gain (except bigger exe files)?
Bruce McGee

Posts: 1,716
Registered: 9/30/99
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 9:54 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo Berglund wrote:

So it looks like as time goes by more fluff is added even for the same
project...
I have upgraded to XE5 in Sept 2013 and now a little more than a year
thereafter there is XE7....
If I upgrade what will I gain (except bigger exe files)?

Here are the official What's New lists for each version. I gained a lot.

http://docwiki.embarcadero.com/RADStudio/XE7/en/What%27s_New

As for exe size, I don't usually give it a lot of thought, but I have
one case where clients are using unreliable dial-up for networking and
deployment.

The benefits still outweigh the drawbacks, but I really wouldn't mind
seeing smaller executables.

--
Regards,
Bruce McGee
Glooscap Software
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 10:11 AM   in response to: Bruce McGee in response to: Bruce McGee
Bruce,

| ...I really wouldn't mind seeing smaller executables.

DITTO!!!!!!!

--

Q

1.19.1.372 (Q's Broken Toolbar.)
Jeff Overcash (...

Posts: 1,529
Registered: 9/23/99
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 11:57 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo Berglund wrote:
I just wonder if I have done some misconfiguration of the IDE?
I have converted a D2006 project to work in XE5. The exe file produced
by D2007 is 1817 kb whereas the one from XE5 is 4725 kb.
I.e. a size increase of x 2.6

Is this normal or is there something I can do to reduce the footprint?

The only major difference between the two projects is that in D2007 I
used the opensource PngImage component to handle PNG files.
In XE5 I instead used Vcl.Imaging.Pngimage, which is a development of
the open source code after Embarcadero bought it and included it in
RAD Studio.
I use the exact same functions and syntax, but they are supplied from
a different source now. Only had to define a different uses unit.
Could this account for the big size difference?

Make sure that the linking option to put the tds information in its own file is
set to true. I am pretty sure that after D2006 this was changed to default to
false (when win64 was added I think).

--
Jeff Overcash (TeamB)
(Please do not email me directly unless asked. Thank You)
And so I patrol in the valley of the shadow of the tricolor
I must fear evil. For I am but mortal and mortals can only die.
Asking questions, pleading answers from the nameless
faceless watchers that stalk the carpeted corridors of Whitehall.
(Fish)
Carl-Henrik Nil...

Posts: 53
Registered: 3/26/02
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 12:18 PM   in response to: Jeff Overcash (... in response to: Jeff Overcash (...
Jeff Overcash (TeamB) wrote:
Make sure that the linking option to put the tds information in its own file is
set to true. I am pretty sure that after D2006 this was changed to default to
false (when win64 was added I think).

That's not the issue here as you can see from the post I made in January:


These are the .exe sizes I get for an XE5 VCL application with only an empty main form:

Win32 Debug - 9588 kB
Win32 Debug - 2055 kB (debug info in separate TDS file)
Win32 Release - 2055 kB
Win64 Debug - 10973 kB
Win64 Release - 3200 kB

There's no difference between Win32 Debug and Win32 Release if I place the debug info in a separate TDS file. You can go to Project | Options | Delphi Compiler -> Linking, and check 'Place debug information in separate TDS file'.


His exe size is "only" 4725 kb, well below 9588.
--
C-H
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 3:28 PM   in response to: Jeff Overcash (... in response to: Jeff Overcash (...
On Fri, 19 Dec 2014 11:57:42 -0800, Jeff Overcash (TeamB)
<jeffovercash at mindspring dot com> wrote:


Make sure that the linking option to put the tds information in its own file is
set to true. I am pretty sure that after D2006 this was changed to default to
false (when win64 was added I think).

Tried it and there is now an exe file of 4725 kb plus a tds file
(11236 kb) and a rsm file (18428 kb).
I guess they are both debugging files, right?
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 19, 2014 8:19 PM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

Tried it and there is now an exe file of 4725 kb plus a tds
file (11236 kb) and a rsm file (18428 kb).
I guess they are both debugging files, right?

The TDS file is the primary debug symbols file. The RSM file is for remote
debugging.

--
Remy Lebeau (TeamB)
Brian Hamilton ...

Posts: 556
Registered: 10/14/04
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 2:24 PM   in response to: Bo Berglund in response to: Bo Berglund
Bo Berglund wrote:
On Fri, 19 Dec 2014 11:57:42 -0800, Jeff Overcash (TeamB)
<jeffovercash at mindspring dot com> wrote:


Make sure that the linking option to put the tds information in its own file is
set to true. I am pretty sure that after D2006 this was changed to default to
false (when win64 was added I think).

Tried it and there is now an exe file of 4725 kb plus a tds file
(11236 kb) and a rsm file (18428 kb).
I guess they are both debugging files, right?

Hey,great tip, that halved my .exe file size :)
Roy Lambert

Posts: 1,063
Registered: 8/7/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 1:05 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo

Make sure that the linking option to put the tds information in its own file is
set to true. I am pretty sure that after D2006 this was changed to default to
false (when win64 was added I think).

Tried it and there is now an exe file of 4725 kb plus a tds file
(11236 kb) and a rsm file (18428 kb).
I guess they are both debugging files, right?

Unless you're posting the wrong figures here, or you pisted the wrong figures originally what you are telling me is that with the options set as Jeff suggested all that happens is you produce even more files and nothing happens to the exe file size. That is still 2.6 times the D2007 size.

Am I misunderstanding?

Roy Lambert
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 1:33 AM   in response to: Roy Lambert in response to: Roy Lambert
On Sun, 21 Dec 2014 01:05:13 -0800, Roy Lambert <roy at lybster dot me dot uk>
wrote:

Bo

Make sure that the linking option to put the tds information in its own file is
set to true. I am pretty sure that after D2006 this was changed to default to
false (when win64 was added I think).

Tried it and there is now an exe file of 4725 kb plus a tds file
(11236 kb) and a rsm file (18428 kb).
I guess they are both debugging files, right?

Unless you're posting the wrong figures here, or you pisted the wrong figures originally what you are telling me is that with the options set as Jeff suggested all that happens is you produce even more files and nothing happens to the exe file size. That is still 2.6 times the D2007 size.

Am I misunderstanding?

What I did was to first compile for debug and finding that the debug
exe file was something like 14.7 Mb (from memory), then I changed the
debug settings to put debug info in separate files as suggested. This
is what shurunk the application exe file in debug mode back to what it
is in release mode while instead producing two more files (tds and
rsm) totalling 29.6 Mb....

I do not pretend I understand this but it looks like putting the debug
info in separate files expands the size of that same info on disk a
bit.

But the exe file in release mode is a lot bigger in XE5 than in
BDS2006 and D2007.

Now I am struggling with installing XE7 in order to be up-to-date with
the dev IDE.
David Taylor

Posts: 27
Registered: 9/12/08
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 20, 2014 9:09 AM   in response to: Bo Berglund in response to: Bo Berglund
On 19/12/2014 16:48, Bo Berglund wrote:
I just wonder if I have done some misconfiguration of the IDE?
I have converted a D2006 project to work in XE5. The exe file produced
by D2007 is 1817 kb whereas the one from XE5 is 4725 kb.
I.e. a size increase of x 2.6

Is this normal or is there something I can do to reduce the footprint?

The only major difference between the two projects is that in D2007 I
used the opensource PngImage component to handle PNG files.
In XE5 I instead used Vcl.Imaging.Pngimage, which is a development of
the open source code after Embarcadero bought it and included it in
RAD Studio.
I use the exact same functions and syntax, but they are supplied from
a different source now. Only had to define a different uses unit.
Could this account for the big size difference?

.. another reason why I'm sticking with Delphi 2009. There is very
little in the newer versions which is of use to me, in exchange for the
cost and pains of upgrading. D2009 was worth it for the Unicode
conversion - mandatory if I /do/ decide to upgrade further.

Delphi 5 produces even smaller .EXE files, but it /is/ getting a little
old for support! <G>

--
David
Web: http://www.satsignal.eu
Bo Berglund

Posts: 757
Registered: 10/23/02
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 1:45 AM   in response to: David Taylor in response to: David Taylor
On Sat, 20 Dec 2014 09:09:11 -0800, David Taylor
<david-taylor@blueyonder.neither-this-part.nor-this-bit.co.uk> wrote:

Delphi 5 produces even smaller .EXE files, but it /is/ getting a little
old for support! <G>

Well, I have been on Delphi 7/BDS2006 for the majority of my work the
last 12 years or so, but in the end one has to move forward...
So in Sept 2013 I upgraded to XE5, but the old applications were still
handled in the old IDE's. I had to start looking at mobile app
development and I am illitterate in Java...

Now I have decided to try and unicodify the old Windows applications
by migrating the projects to XE5, probably a bit of a challenge when I
get to the more complex apps. Right now I am only dealing with the
simplest of them, still with a lot of math internally.

But back in the early days I noted that even when building a console
application the exe file was rather big. So I checked what was causing
it and it turned out I had to include Forms in uses for some simple
function, like getting the path to the exe itself
(Application.Exename).
When I changed this to using ParamStr(), which also holds the exe file
name and removed Forms from the uses clause, the console app shrunk
from 450 kb to 32 kb!

It might well be that some used unit in the later IDE's might stuff
things into the exe file that are not used at all...

Question:
Is there no optimizer that can selecively cut away unused parts of the
library units such that only what actually gets called by the
application is included in the exe file?
Right now it looks like the linker combines all used DCU functions
into the exe file irrespective if they are actually used.
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 10:26 PM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

But back in the early days I noted that even when building a console
application the exe file was rather big. So I checked what was causing
it and it turned out I had to include Forms in uses for some simple
function, like getting the path to the exe itself (Application.Exename).
When I changed this to using ParamStr(), which also holds the exe file
name and removed Forms from the uses clause, the console app shrunk
from 450 kb to 32 kb!

Yes, the Forms unit brings in massive overhead, and should be avoided in
non-UI projects that don't use TApplication, TForm, TFrame, TScreen, TMonitor
(and a few others).

--
Remy Lebeau (TeamB)
Roy Lambert

Posts: 1,063
Registered: 8/7/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 1:10 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo

I have a memory of other threads on this subject suggesting turning off the enhanced RTTI. Why not try that and see what happens? I think its a compiler switch of some sort but can't remember what it was.

Roy Lambert

Bo Berglund

Posts: 757
Registered: 10/23/02
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 1:46 AM   in response to: Roy Lambert in response to: Roy Lambert
On Sun, 21 Dec 2014 01:10:13 -0800, Roy Lambert <roy at lybster dot me dot uk>
wrote:

Bo

I have a memory of other threads on this subject suggesting turning
off the enhanced RTTI. Why not try that and see what happens?
I think its a compiler switch of some sort but can't remember what it was.


I would be interested in trying this if I only knew where it can be
switched on/off...
Of course I do not know what RTTI actually is.
Roy Lambert

Posts: 1,063
Registered: 8/7/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 2:11 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo

I would be interested in trying this if I only knew where it can be
switched on/off...

Have a look here

http://delphi.about.com/b/2011/07/26/create-smaller-delphi-xe-executables-remove-rtti-pack-exe.htm


Of course I do not know what RTTI actually is.

RTTI is Run Time Type Information. I use it in one place - my appearance manager (I didn't like the way themes worked so wrote my own). It allows you to check if a property exists in a component, read it, write it without having to have the units for those components linked in. You can do things like

procedure SetWaitControl(Ctrl: TControl);
begin
pPinfo := GetPropInfo(Ctrl, 'Colour');
if Assigned(pPInfo) then SetOrdProp(Ctrl, pPInfo, udaDefs.Buttons.WaitColour);
pPinfo := GetPropInfo(Ctrl, 'Highlight');
if Assigned(pPInfo) then SetOrdProp(Ctrl, pPInfo, udaDefs.Buttons.WaitHighlight);
pPinfo := GetPropInfo(Ctrl, 'TickWidth');
if Assigned(pPInfo) then SetOrdProp(Ctrl, pPInfo, udaDefs.Buttons.WaitLine);
end;

Roy Lambert

Bo Berglund

Posts: 757
Registered: 10/23/02
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 3:04 AM   in response to: Roy Lambert in response to: Roy Lambert
On Sun, 21 Dec 2014 02:11:57 -0800, Roy Lambert <roy at lybster dot me dot uk>
wrote:

Bo

I would be interested in trying this if I only knew where it can be
switched on/off...

Have a look here

http://delphi.about.com/b/2011/07/26/create-smaller-delphi-xe-executables-remove-rtti-pack-exe.htm

So the deal is to put this below the program section in the dpr file:
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

I tested it and the resulting release exe is 4217 kb whereas without
it the exe is 4725 kb, so it is a reduction by 508 kb, still along
shot from what it was in BDS2006 (1817 kb).
Roy Lambert

Posts: 1,063
Registered: 8/7/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 5:21 AM   in response to: Bo Berglund in response to: Bo Berglund
Bo

So the deal is to put this below the program section in the dpr file:
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

I tested it and the resulting release exe is 4217 kb whereas without
it the exe is 4725 kb, so it is a reduction by 508 kb, still along
shot from what it was in BDS2006 (1817 kb).

Well that rules out enhanced RTTI as the big nasty. So its down to unicode and compiler features.

From my simplistic viewpoint I can only see uniicode making a difference to the extent of embedded strings in your code. If its otherwise the crew at Embarcadero deserve a good kicking. So that would leave compiler features. Hmm, interesting.

Roy Lambert
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 10:18 PM   in response to: Roy Lambert in response to: Roy Lambert
Roy wrote:

From my simplistic viewpoint I can only see uniicode making a
difference to the extent of embedded strings in your code.

Unicode is more than just literals. There is also all of the RTL code needed
to support UnicodeString at runtime, along with all of the RTL code to continus
supporting AnsiString.

--
Remy Lebeau (TeamB)
Roy Lambert

Posts: 1,063
Registered: 8/7/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 22, 2014 12:54 AM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Remy

Unicode is more than just literals. There is also all of the RTL code needed
to support UnicodeString at runtime, along with all of the RTL code to continus
supporting AnsiString.

OK. That obviously requires 3Mb of additional code. Nope don't think so.

Why do the people that actually know the answers (eg Embarcadero) not actually step into one of these discussions and tell their customers what's going on?

Roy Lambert
Quentin Correll


Posts: 2,412
Registered: 12/1/99
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 10:32 AM   in response to: Roy Lambert in response to: Roy Lambert
Roy,

| Have a look here
|

http://delphi.about.com/b/2011/07/26/create-smaller-delphi-xe-executables-remove-rtti-pack-exe.htm

UPX hasn't been updated for almost two years. I'm very hesitant to
even try it on XE7.

--

Q

1.19.1.372 (Q's Broken Toolbar.)

Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 10:22 PM   in response to: Bo Berglund in response to: Bo Berglund
Bo wrote:

Of course I do not know what RTTI actually is.

RTTI (RunTime Type Information) consists of data structures that are created
by the compiler itself to describe data types, class members, property names,
etc that your app uses. All of that information is embedded in the final
executable in case the app wants to use it (DFM streaming does, to an extent).

--
Remy Lebeau (TeamB)
Angus Robertson

Posts: 205
Registered: 3/17/00
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 6:05 AM   in response to: Bo Berglund in response to: Bo Berglund
The exe file produced by D2007 is 1817 kb whereas the one from
XE5 is 4725 kb.

I rebuild the demo application for my RAS components for each new release
of Delphi, although I've dropped support for older compilers so not always
the same version. This is a listing of those applications:

rasdemo4-D3-461.exe 480,768 18:19:46 26/06/2001
rasdemo4-D4.451.exe 583,168 19:07:45 23/01/2001
rasdemo4-d5-491.exe 634,368 10:09:28 06/08/2002
rasdemo4-d6-530.exe 772,608 16:02:50 16/08/2007
rasdemo4-d7-571.exe 769,536 15:26:00 10/09/2012
rasdemo4-d9-500.exe 783,360 15:15:45 25/10/2005
rasdemo4-d10-500.exe 793,600 11:26:47 22/11/2005
rasdemo4-d11-571.exe 844,800 15:04:54 11/09/2012
rasdemo4-d12-550.exe 978,944 16:18:04 08/08/2009
rasdemo4-d14-550.exe 1,397,760 11:08:17 08/08/2009
rasdemo4-d15-560.exe 1,400,320 11:30:40 11/08/2010
rasdemo4-d16-32-571.exe 1,825,280 17:55:31 10/09/2012
rasdemo4-d16-64-570.exe 2,720,768 09:21:59 11/08/2011
rasdemo4-d17-32-571.exe 2,519,040 13:52:46 10/09/2012
rasdemo4-d17-64-571.exe 2,802,688 18:01:14 10/09/2012
rasdemo4-d18-32-572.exe 2,565,632 09:33:15 13/08/2013
rasdemo4-d18-64-572.exe 3,990,016 09:44:00 13/08/2013
rasdemo4-d19-32-572.exe 2,579,456 12:14:44 05/11/2013
rasdemo4-d19-64-572.exe 4,013,056 16:16:09 05/11/2013
rasdemo4-d20-32-572.exe 2,736,128 11:05:03 17/04/2014
rasdemo4-d20-64-572.exe 4,428,288 11:29:07 17/04/2014
rasdemo4-d21-32-573.exe 2,738,176 16:42:29 10/10/2014
rasdemo4-d21-64-573.exe 4,417,024 16:56:19 10/10/2014

D9=2005, D10=2006, D11=2007, D12=2009, D14=2010, D15=XE,
D16=XE2, D17=XE3, D18=XE4, D19=XE5, D20=XE6, D21=XE7.

So it can be seen that Unicode did not make difference to the size, it's
other overheads and additions in RTL and VCL, despite my using absolutely
no new features, the code still compiles in D7.

Angus
Eli M

Posts: 1,346
Registered: 11/9/13
Re: EXE size difference D2007 - XE5
Click to report abuse...   Click to reply to this thread Reply
  Posted: Dec 21, 2014 8:08 AM   in response to: Bo Berglund in response to: Bo Berglund
~20 years of adding new features can do that. Windows use to fit on 3.5" floppies too.

Visual Studio users have the same complaint about Visual Studio EXEs.

https://stackoverflow.com/questions/5168318/visual-studio-2010-generated-executable-size-larger

https://stackoverflow.com/questions/25653693/visual-studio-2013-creates-larger-exes-no-mfc


A version of UPX that uses 7Zip compression would be interesting. The main reason would be to reduce execution time over a network.

Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02