MINOR: pools: increase MAX_BASE_POOLS to 64

When not sharing pools (i.e. when building with -DDEBUG_DONT_SHARE_POOLS)
we have about 47 pools right now, while MAX_BASE_POOLS is only 32, meaning
that only the first 32 ones will benefit from a per-thread cache entry.
This totally kills performance when pools are not shared (roughly -20%).

Let's double the limit to gain some margin, and make it possible to set
it as a build option.

It might be useful to backport this to stable versions as they're likely
to be affected as well.
This commit is contained in:
Willy Tarreau 2020-06-30 14:29:02 +02:00
parent 60814ffe81
commit daf8aa62a8

View File

@ -65,7 +65,9 @@
#define POOL_LINK(pool, item) ((void **)(item))
#endif
#define MAX_BASE_POOLS 32
#ifndef MAX_BASE_POOLS
#define MAX_BASE_POOLS 64
#endif
#define POOL_AVG_SAMPLES 1024