From abba1591284f92182b86d5e430472c62a73a70ad Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 11 Sep 2007 15:26:48 +0200 Subject: [PATCH] Auto-tune radix-sort width according to CPU type. --- lib/autoconf.cfg | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/autoconf.cfg b/lib/autoconf.cfg index 4bd16617..b0e3c536 100644 --- a/lib/autoconf.cfg +++ b/lib/autoconf.cfg @@ -259,8 +259,14 @@ Set("PARTMAP_IS_MMAP") if IsSet("CPU_64BIT_POINTERS"); # Option for lib/mempool.c Set("POOL_IS_MMAP"); -# FIXME -Set("CONFIG_UCW_RADIX_SORTER_BITS" => 12); +# Guess optimal bit width of the radix-sorter +if (Get("CPU_ARCH") eq "default" || Get("CPU_ARCH") =~ /^i[345]86$/) { + # This should be safe everywhere + Set("CONFIG_UCW_RADIX_SORTER_BITS" => 10); +} else { + # Use this on modern CPU's + Set("CONFIG_UCW_RADIX_SORTER_BITS" => 12); +} # If debugging memory allocations: #LIBS+=-lefence -- 2.39.2