On Wed, 30 Nov 2005, Bill Hacker wrote:

> Given that there can be several hundred simultaneous connections,
> -  each allocated ten acl_c(n) variables,
> 
> and that each connection could process multiple messages,
> - each allocated ten acl_(n) variables,

... but only one message at a time, so this does not make any 
difference, at least not for reception. It is true that the delivery 
process for message number n may still be running while message n+1 is 
being received, but that is the same whether the two messages came on 
the same connection or on different ones.

> and that the curent variables are not simple booleans, but capable of holding
> potentially lengthy strings.......

No difference (on a 32-bit system) unless the variables are actually 
used. An unused variable occupies just one word - a NULL pointer.

> Might it not be more economical to add a set of variables of a different type?

I really don't want to get into typed variables in Exim. It's a whole 
new ballpark. And I don't think current systems are so short of memory 
that we have to do drastic things like store Booleans as single bits.

Doubling the number of variables would add 80 bytes to the memory used 
by an Exim process on a 32-bit system, if those variables were never 
used. This is like adding one additional header line to every message, 
which is (IMHO) not a lot.

-- 
Philip Hazel            University of Cambridge Computing Service,
[EMAIL PROTECTED]      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book

-- 
## List details at http://www.exim.org/mailman/listinfo/exim-users 
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/

Reply via email to