comp.lang.ada
 help / color / mirror / Atom feed
From: John Howard <jhoward@sky.net>
Subject: Re: GNAT Executables: How low can you go?
Date: 1996/04/18
Date: 1996-04-18T00:00:00+00:00	[thread overview]
Message-ID: <Pine.SOL.3.91.960418140455.19331A-100000@sky.net> (raw)
In-Reply-To: 31765239.167EB0E7@escmail.orl.mmc.com

On Thu, 18 Apr 1996, Theodore E. Dennison wrote:
> Robert Dewar wrote:
> >
> > T.E.D says
> >
> > "Of course you realize that unless you have other applications running
> > simultaniously on the system using those DLL's, you havent gained
> > anything. You've just split your executable into several files. All
> > the bytes are still there."
> >
> > That completely misses the biggest value of DLL's, which is that they
> > stay loaded as you load subsequent applications. Suppose you have a
> > 2 meg DLL and 30 successive small executables that are loaded. This
> > will be MUCH more efficient than loading 30 successive 2 meg executables.
> > DLL's are useful in improving performance even if there is never a case
> > of simultaneous use.
>
> Well....actually no, that doesn't miss that value. If you read the
> text you quoted, it says, "...unless you have other applications running
> simultaniously on the system using those DLL's..."
> --
> T.E.D.

You can gain by saving on time to load the program and DLL's.  The 
decoding and expansion of a compressed file in memory might beat the time 
it takes to access a slow I/O device for the uncompressed original file.

Executables typically are loaded once per session.  Comparing the single 
load time of the uncompressed form against the single load time of the 
compressed form will accurately indicate if an executable should be 
distributed in compressed form.  DLL's can be either reloaded or shared 
by multiple processes.  Complications come from not being able to predict 
or control the cost of reloading a DLL.

Generally, large DLL's will be compressed to save storage space at the 
expense of adding a decoding time component to the load time.  A smaller 
uncompressed file is quicker to load during load time.  A compressed file 
may or may not be quicker to load during load time -- you have to add in 
the decode time to know.  Do not repeatedly decode the same DLL unless it 
is unavoidable.

For example, a main program can repeatedly yet rarely demand a resource 
DLL which was loaded earlier and given a high priority by the operating 
system but later unloaded due to becoming a low priority.  Sometimes a 
programmer is allowed enough control to have the operating system lock 
their DLL in a memory space so that only a single decode is necessary.

------------------------------------------------------------------------
-- John Howard <jhoward@sky.net>               -- Team Ada  Team OS/2 --
--                                             -- Keramos             --
------------------------------------------------------------------------
Psalm 22:30-31




  reply	other threads:[~1996-04-18  0:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-04-13  0:00 GNAT Executables: How low can you go? Geert Bosch
1996-04-13  0:00 ` Robert Dewar
1996-04-16  0:00   ` Geert Bosch
1996-04-16  0:00     ` Theodore E. Dennison
1996-04-16  0:00       ` Robert Dewar
1996-04-18  0:00         ` Theodore E. Dennison
1996-04-18  0:00           ` John Howard [this message]
1996-04-19  0:00             ` Robert Dewar
1996-04-18  0:00           ` Robert Dewar
1996-04-19  0:00             ` Theodore E. Dennison
1996-04-17  0:00       ` Geert Bosch
1996-04-17  0:00         ` Michael F Brenner
1996-04-18  0:00           ` Geert Bosch
1996-04-18  0:00           ` Theodore E. Dennison
1996-04-19  0:00             ` Robert Dewar
1996-04-19  0:00             ` Geert Bosch
1996-04-26  0:00             ` Richard A. O'Keefe
1996-04-29  0:00               ` Theodore E. Dennison
1996-04-30  0:00               ` mjp
1996-04-26  0:00           ` Geert Bosch
1996-04-18  0:00         ` Theodore E. Dennison
1996-04-18  0:00           ` Robert Dewar
1996-04-19  0:00           ` Norman H. Cohen
1996-04-19  0:00             ` Theodore E. Dennison
1996-04-19  0:00               ` Robert Dewar
1996-04-20  0:00           ` Al Christians
1996-04-22  0:00             ` Theodore E. Dennison
1996-04-19  0:00         ` Fergus Henderson
1996-04-17  0:00 ` Cordes MJ
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox