On Mon, Mar 9, 2015 at 3:55 AM, Viktor Dukhovni <postfix-us...@dukhovni.org>
wrote:

> On Mon, Mar 09, 2015 at 03:36:42AM +0800, Jeffrey 'jf' Lim wrote:
>
> > Dynamic linking results in smaller binaries (
> > http://www.postfix.org/INSTALL.html#shared_enable), and memory savings,
> but
> > what about dynamic loading of database clients? Does this work the same
> > way, or is this something different from dynamic linking? It's not
> > altogether clear to me. What does it mean to dynamically load a client?
> >
> > http://www.postfix.org/INSTALL.html#dynamicmaps_enable only mentions
> that
> > 'Dynamic loading is useful when you distribute or install pre-compiled
> > Postfix packages.' What if I'm not planning to distribute? Are there any
> > other reasons (like as mentioned, saving on memory) I would want to
> enable
> > dynamic loading of database clients when compiling?
>
> The memory savings are not generally significant, because the code
> (text segment) of each executable is only loaded once and shared
> by all instances of that running executable.  So whether you're
> running one smtpd(8) process or five hundred, the memory consumed
> by the code is the same.
>
> Modern systems have ludicrous amounts of RAM the modest savings in
> memory footprint for a system running zero or more of each of:
>
>         master
>         pickup
>         qmgr
>         trivial-rewrite
>         smtpd
>         cleanup
>         smtp
>         local
>         virtual
>
> are negligible.  Yes with shared libraries there is more sharing
> going on, with the above executables smaller and some more code
> loaded just once, but this hardly matters.
>
> The benefit of dynamic loading of table drivers is simplified
> dependency management for O/S release engineers.  They can ship a
> system with an MTA without having to bundle support for every
> database client library under the sun and the dependencies of those
> libraries, ...
>
>
got it. Thanks!



> There is little to no benefit to users building their own Postfix
> from source.
>
>
Yeah, I get it. Easier to use what's available if possible. My problem is
that what's available is too old. But that's another story altogether.
Thanks!

-jf

--
He who settles on the idea of the intelligent man as a static entity only
shows himself to be a fool.

Mensan / Full-Stack Technical Polymath / System Administrator
12 years over the entire web stack: Performance, Sysadmin, Ruby and Frontend

Reply via email to