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