Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.pascal.delphi.misc > #463

Re: Delphi XE2 compiled VCL Win32 EXE size

From Marco van de Voort <marcov@toad.stack.nl>
Newsgroups comp.lang.pascal.delphi.misc
Subject Re: Delphi XE2 compiled VCL Win32 EXE size
Date 2013-03-16 18:46 +0000
Organization Stack Usenet News Service
Message-ID <slrnkk9fff.10ce.marcov@toad.stack.nl> (permalink)
References (2 earlier) <XnsA1853A7167015jj@0.0.0.18> <slrnkk919q.5ah.marcov@toad.stack.nl> <0o01t.102788$O52.24637@newsfe10.iad> <slrnkk9cef.mnh.marcov@toad.stack.nl> <8Q21t.124511$t82.24373@newsfe12.iad>

Show all headers | View raw


On 2013-03-16, Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_@charter.net> wrote:

>> So why should Embarcadero spend a significant percentage of their
>> development budget on this? Better they start fixing bugs with it :)
>   Why? so I can use memory that isn't needed by an app of such nature
> for other things.

EXEs are only memory mapped, and not the whole binary must be in memory. 
Unused parts are unloaded in low memory circumstances.  (though with 4k
granularity for 32-bit and 8k for 64-bit).

Moreover, for most non trivial applications, datasize allocated by an EXE
dwarfs the code size.  If you persist in that way of thinking, I think the
growing of TObject in post D2007 versions might be a much worse thing that
dwarfs binary size issues.

>    You know the term multitasking? It means that you can run multiple 
> different apps on your PC with out running out of resources..

Yes. And I fail to see how a 300kb difference will make a difference
in a world where entry level machines are equiped with at least 4GB memory.

>   And for the comment I made with dynamic code, I wasn't referring to
> Packages, I was referring to a standard non-delphi DLL that could be
> loaded at run time at will if only the selective property or flag is
> set, then from there, a few call backs or what ever is needed to make
> access to the main body functions, which are in the DLL. This
> would be a choice that could be made on resource usage at run time.

The result remains the same. It is the refactoring into a minimal interface 
and the full implementation that causes the savings. Not the dyn
usage itself.

If such refactoring was done, Embarcadero could have simply only link
the bulk of the code in when needed.

>   Packages in delphi aren't much better in the way the code implements
> them in the main program. The code in the main program is still making
> references to all sorts of things that would be in a package and on top
> of that, most people put a lot more than a single unit's worth of code
> in a package.

That is not true. Packages can also be dynloaded, specially if they 
override base types that are statically linked.

Packages are the same as dyn linking in most ways, just under control
of the compiler.

>   So in the end, the final program will still load that package in the
> case of the themes unit.

If you only put the themes unit in the package. BUt if the RTL contains
an abstract themes, you could load the full version of themes dynamically,
theoretically.

>    you can load packages like a raw DLL but I don't see any of the VCL 
> code organized to allow this to where it actually pays off.

That's the exact point I tried to make in the dynamic library package.
The organization for minimalistic purposes isn't there. And then
it doesn't matter if it is statically or dynamically linked.

But afaik Delphi allows recompilation of the RTL/VCL? Simply cut out
themes, turn extended RTTI off?

>     I am thinking of writing a SDR (sound defined radio) program using
> the latest version of Lazarus. Recent testing shows that it is running
> neck and neck with current version of delpi. If I didn't know any 
> better, it looks like they are using FP compiler? Something is up with 
> that..

Lazarus uses fpc yes, always has, the projects have been linked since
Lazarus' inception. (FPC is older)

But Lazarus has binary size overhead due to its multiplatformness, and 
is slowly increasing too. 

Back to comp.lang.pascal.delphi.misc | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Delphi XE2 compiled VCL Win32 EXE size JJ <jaejunks@nah.meh> - 2013-03-12 19:24 +0000
  Re: Delphi XE2 compiled VCL Win32 EXE size Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_@charter.net> - 2013-03-12 17:51 -0500
    Re: Delphi XE2 compiled VCL Win32 EXE size Graeme Geldenhuys <graemeg@example.net> - 2013-03-14 20:22 +0000
      Re: Delphi XE2 compiled VCL Win32 EXE size Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_@charter.net> - 2013-03-14 18:32 -0500
        Re: Delphi XE2 compiled VCL Win32 EXE size Graeme Geldenhuys <graemeg@example.net> - 2013-03-15 07:58 +0000
  Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-15 13:48 +0000
    Re: Delphi XE2 compiled VCL Win32 EXE size JJ <jaejunks@nah.meh> - 2013-03-15 22:38 +0000
      Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-16 14:44 +0000
        Re: Delphi XE2 compiled VCL Win32 EXE size Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_@charter.net> - 2013-03-16 11:52 -0500
          Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-16 17:54 +0000
            Re: Delphi XE2 compiled VCL Win32 EXE size Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_@charter.net> - 2013-03-16 14:39 -0500
              Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-16 18:46 +0000
          Re: Delphi XE2 compiled VCL Win32 EXE size JJ <jaejunks@nah.meh> - 2013-03-17 09:47 +0000
            Re: Delphi XE2 compiled VCL Win32 EXE size Jamie <jamie_ka1lpa_not_valid_after_ka1lpa_@charter.net> - 2013-03-17 10:03 -0500
        Re: Delphi XE2 compiled VCL Win32 EXE size JJ <jaejunks@nah.meh> - 2013-03-17 09:25 +0000
          Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-17 13:08 +0000
  Re: Delphi XE2 compiled VCL Win32 EXE size "Rudy Velthuis (TeamB)" <newsgroups@rvelthuis.de> - 2013-03-16 23:24 +0100
    Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-16 22:32 +0000
      Re: Delphi XE2 compiled VCL Win32 EXE size "Rudy Velthuis (TeamB)" <newsgroups@rvelthuis.de> - 2013-03-16 23:55 +0100
        Re: Delphi XE2 compiled VCL Win32 EXE size "Rudy Velthuis (TeamB)" <newsgroups@rvelthuis.de> - 2013-03-17 00:05 +0100
          Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-17 13:03 +0000
    Re: Delphi XE2 compiled VCL Win32 EXE size JJ <jaejunks@nah.meh> - 2013-03-17 10:00 +0000
      Re: Delphi XE2 compiled VCL Win32 EXE size "Rudy Velthuis (TeamB)" <newsgroups@rvelthuis.de> - 2013-03-17 21:54 +0100
        Re: Delphi XE2 compiled VCL Win32 EXE size Marco van de Voort <marcov@toad.stack.nl> - 2013-03-17 20:59 +0000

csiph-web