The point of a DLL however, at least originally, was akin to the Unix
'Shared Libraries', in that they were meant as a place to
store code that many programs would be accessing, thus reducing the size of
an executable. Why have 25 different
programs that each have their own cope of the instructions for how to draw a
button in windows, or how to
open a file on the disk? Just put that kind of common code in one file and
let all the other programs read from it.
----- Original Message -----
From: "Jason Robertson" <jason@???>
To: <exim-users@???>
Sent: Thursday, August 30, 2001 12:47 PM
Subject: [Exim] Re: Dynamically Loadable Modules
> Actually what would be nice, though outta of scope for us, for awhile..
would be like the DLL
> option, that Windows does do, would be to have preloaded libraries, so
they are in memory only
> once.
>
> But as for another option, dynamically loaded modules could make exim
faster, in that it would
> also mean, a module would only have to load what it needs to run, for
example if you are sending
> email, why load the code to receive email, if it will never get used.
> The other benefit is that it can reduce memory requirements of exim, as
you can load and unload
> modules as needed.
>
> Jason
>
> On 30 Aug 2001 at 1:53, Theo E. Schlossnagle wrote:
>
> Date sent: Thu, 30 Aug 2001 01:53:11 -0400
> From: "Theo E. Schlossnagle" <jesus@???>
> Organization: OmniTI, Inc. -- Computer Consulting
> To: Richard Welty <rwelty@???>
> Copies to: exim-users@???
> Subject: Re: Dynamically Loadable Modules (was Re: [Exim] Is Exin
SNMP Aware?
> )
>
> > Richard Welty wrote:
> > >>That's probably the biggest head-ache. I'm not sure of many systems
> > >>where dynamic linking, on any level, could be considered "cheap" when
> > >>done incredibly frequently, say on a dedicated mail server.
> > >
> > > i have to vote against the whole idea; it would be way too expensive
> > > in a busy mail server.
> >
> > Where is your emprical evidence for this. I don't buy it. Dynamic
linking
> > happens all the time on my busy systems and things fly. Sounds like
your
> > dynamic linker is broken.
> >
> > Besides, most modules loaded into exim would be very small. So you are
only
> > looking at a mmap() and a symbol table verification. There are probably
only a
> > handful of symbols in one of these modules, so this overhead is TINY.
> >
> > I would rather load 100 modules than call {fsync,fsyncdata} just once on
my busy
> > systems. It the battle for speed, choose your bottleneck battles
wisely.
> >
> > --
> > Theo Schlossnagle
> > 1024D/82844984/95FD 30F1 489E 4613 F22E 491A 7E88 364C 8284 4984
> > 2047R/33131B65/71 F7 95 64 49 76 5D BA 3D 90 B9 9F BE 27 24 E7
> >
> >
> >
> >
> >
>
>
> ---
> Jason Robertson
> Network Analyst
> jason@???
> http://www.astroadvice.com
>
>
> --
> ## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
details at
http://www.exim.org/ ##
>