]> mj.ucw.cz Git - libucw.git/commitdiff
Auto-tune radix-sort width according to CPU type.
authorMartin Mares <mj@ucw.cz>
Tue, 11 Sep 2007 13:26:48 +0000 (15:26 +0200)
committerMartin Mares <mj@ucw.cz>
Tue, 11 Sep 2007 13:26:48 +0000 (15:26 +0200)
lib/autoconf.cfg

index 4bd1661781c42f5e0079dfa71381856450595136..b0e3c536eba25d2bcd05e30a24f69f12a8d62815 100644 (file)
@@ -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