Re: [exim] 4.87 -> 4.88 readconf performance

Top Page
Delete this message
Reply to this message
Author: lists-exim
Date:  
To: exim-users
Subject: Re: [exim] 4.87 -> 4.88 readconf performance
On Mon, Mar 06, 2017 at 11:49:02AM -0500, lists-exim@??? wrote:
> On Sun, Mar 05, 2017 at 07:56:12PM +0000, Jeremy Harris wrote:
> > On 04/03/17 22:27, Wayne Cuddy wrote:
> > > Instrumenting the code with rudimentary timing metrics I found that on
> > > average in versions 4.66-4.87 readconf_main takes < 9000
> > > microseconds.
> > >
> > > On 4.88 it takes on average 63000 microseconds.
> >
> > 4.88 added builtin macros (for assorted features) and a startup
> > cost is associated with these. They are however only created
> > in a lazy fashion, when a macro name is seen in the config input
> > which starts underbar, letter. If you do not have any use of
> > a macro matching that you should not see a longer startup cost
> > for that specific reason.
> >
> > Please check that and say whether it provides a fix for you.


I verified that I'm not using macros that begin with an underbar. I
also expanded all of the simple macros in my config file and retested.
This had no effect on performance.

Most of the time is spent in the while loop in readconf_main around
line 3424. All other portions of the function are negligible.

>
> I am using macros but none that start with an underbar '_'. I have one
> that defines the configuration directory.
>
> CFG_DIR = /etc/exim
>
> I then use that throughout the configuration file.
>
> Aside from adding the "keep_environment =" line to exim.conf no other
> changes were made to my configuration between 4.66 and 4.88.
>
> I can try expanding the simple macro above manually in my
> configuration just to see if that causes the problem to go away.
>
> I can also sanitize the configuration and post it here if you think
> that would help.
>
> >
> > > If I changed from piping the message to EXIM to connecting to
> > > localhost:25 and sending the message via SMTP would that remove calls to
> > > readconf_main.
> >
> > It would remove the per-message reception startup configuration read.
> > The delivery cost would still be there.
> >
> > --
> > Cheers,
> > Jeremy
> >
>
> Thank you for the reply.
> Wayne
>
> --
> ## List details at https://lists.exim.org/mailman/listinfo/exim-users
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://wiki.exim.org/
>