The makefiles under this directory are (if it's possible) even harder to deal with than in ../src --but I guarantee it's all compilable. :) Eventually. There are two primary toys under here, sample and bench. Sample is really just there for example code; it happens to work, which is nice, but it's not doing its intended job unless you look under the hood. So have at it; it's ugly code (amazing how you can always look back and say, "God, I can't believe I wrote THAT", isn't it?), but, as I said, it does work. ^^ Note that I didn't put the comma inside the quotes. I think that looks really stupid; it's not part of the quote. New standard. Anyone wanna draw up a petition? Bench is a benchmark utility. Run it without any arguments and it'll proceed to add 790 very simple records, one after another, to bench.rel--each '.' it prints represents 10. Then it'll draw a pretty graph that looks like a plot of any O(n * ln(n)) function (for 5.0 anyway--try it with 4.1a and it looks pretty! All kindsa lumps and valleys...) and tell you what the average add time is for all 790 records. Some typical numbers, with the cache at 500 (as shipped): Average time per add, Multiple that Machine Software Versions 5.0 vs 4.1a it's faster by -------- ------------------------- --------------------- -------------- NeXT Non-turbo, 25Mhz .27 sec vs ???? sec x ???? Sparc 1+ SunOS 4.1 (zzzooooom!!!) .37 sec vs 1.16 sec x 3.13 386/25dx Dos 5, SMARTDRV, DublDisk 1.15 sec vs 3.17 sec x 2.75 386/16sx Xenix of some sort 1.27 sec vs 2.67 sec x 2.10 So basically, the faster your processor, the better 5.0 beats the crap out of 4.1a... just what you'd expect, 'cause its primary change is that all tree balancing is done cached. Beware, though; 790 records at even 1 sec per add is just over 13 minutes; this benchmark will take a bit of time to run. If you change the cache size in the library it'll change the results a good bit; play with MAX_CACHE in mbase.h and see. Optimally you'd want MAX_CACHE to be exactly as big as the number of records you intend to store; more than that would never be used, less than that and it flushes too often. If you cut the number of records added by the benchmark to around 520, you may be able to see a bit of a peak in the plot where the cache size is... if you have no more of a life than I do, you may wanna give it a whirl. :|