Board index » delphi » HELP PLEASE, Build or not using Runtime packages

HELP PLEASE, Build or not using Runtime packages

I have posted this message in deployment too, sorry but i
don't know which is the correct group.

Hi i have some doubts about using build with runtime packages
or not, these doubts affect to the speed of execution, resources
used and disk required by my applications and dlls. My objective
is  obtain the best resource management and a good relation with
the speed execution. So i  describe my problem and some
tests, please i'll thank you very much information about these in
order to choose the best way.

I have developped a group of applications in order
to manage all the data, processes, etc... of my customers.
I have dlls too used by these applications. (We are speaking
about lot of applications and dlls, more of them
running together in the same machine at same time).
I use lot of thirdparty products into them and i have just
migrated from Delphi 3 to Delphi 6.

I have noted that exes file size is much bigger, and perhaps
more slow now (after migration). So i have decide to build
my applications & dlls using RunTime packages option,
but i only specify some packages in the option (the biggers
ones and with components with less use by the users, i leave
the other ones to build into the exe to obtain more speed,
i hope).

After rebuild the applications using runtime packages the file
size of the exe decreasses, but my surprise is when i test
with the taskmanager the use of RAM. The results of the
tests are:

Exe size using Runtime packages(aprox): 5 MBytes
Exe size NOT using Runtime packages(aprox): 7 MBytes

During execution:

Process size in RAM using Runtime packages(aprox): 16 MBytes
Process size in RAM NOT using Runtime packages(aprox): 13 MBytes

So i'm affraid to obtain a worst resource management and a
decreasse in the speed of all the system using runtime packages,
because with the taskmanager seems that using runtime packs.
the exes need more Ram. The exes seem a bit slower using runtime
packages too.

So, Please, someone can tell me which is the correct way to work
in my situation (lot of exes, fat ones, with Database operations
and thirdparty products, ...): Build with Runtime or not build
that is the question. Any kind of information and specially esplanations
would be apreciated.

Thanks very much in advance.

 

Re:HELP PLEASE, Build or not using Runtime packages


Quote
In article <3ba6341f_1@dnews>, Ladrillo wrote:
> Exe size using Runtime packages(aprox): 5 MBytes
> Exe size NOT using Runtime packages(aprox): 7 MBytes

> During execution:

> Process size in RAM using Runtime packages(aprox): 16 MBytes
> Process size in RAM NOT using Runtime packages(aprox): 13 MBytes

That is to be expected.

When compiled without runtime packages, the smart linker reduces the size
of the code because unreferenced procedures can be ignored. When a runtime
package is loaded, you get *all* the procedures available.

Savings are made when you run several applications at once as they use a
single copy of the packages in memory.

Mike Orriss (TeamB and DevExpress)

Re:HELP PLEASE, Build or not using Runtime packages


Mike,

I believe you are right when talking about Windows 3.x but in win32, I would
think that every process loads a copy of the packages in its own process
space, thus not saving memory space, only disk space.

What are your comments on this ?

Regards,
Helge S?gaard

Quote
"Mike Orriss (TeamB)" wrote:
> Savings are made when you run several applications at once as they use a
> single copy of the packages in memory.

> Mike Orriss (TeamB and DevExpress)

Re:HELP PLEASE, Build or not using Runtime packages


Quote
In article <3BA72684.9394D...@o.spam>, No Spam wrote:
> What are your comments on this ?

Try it and see <g>

Mike Orriss (TeamB and DevExpress)

Re:HELP PLEASE, Build or not using Runtime packages


Quote
In article <3BA72684.9394D...@o.spam>, No Spam wrote:
> I believe you are right when talking about Windows 3.x but in win32, I would
> think that every process loads a copy of the packages in its own process
> space, thus not saving memory space, only disk space.

The OS is able to share the code pages of DLLs between processes. Data is not
shared, however.

Peter Below (TeamB)  100113.1...@compuserve.com)
No e-mail responses, please, unless explicitly requested!
Note: I'm unable to visit the newsgroups every day at the moment,
so be patient if you don't get a reply immediately.

Other Threads