writing performance test: copying the 58970 records of unesb (~ 500 byte each) with simple full index (-idxall) making one entry for every field (total of 585334 fields) system: $ cat /proc/cpuinfo ... model name : Pentium III (Coppermine) cpu MHz : 801.832 cache size : 256 KB free total used free shared buffers cached Mem: 256252 150428 105824 0 640 70560 -/+ buffers/cache: 79228 177024 Swap: 265032 7668 257364 $ initial write to non existing db db/test/t, creating a 30MB .mst and 18MB .oxi $ time ./openisis -db db/unesb/unesb -append db/test/t -fmt mfn -idxall >/dev/null real 0m20.304s user 0m15.680s sys 0m3.600s ./openisis -db db/test/t -fmt mfn | wc -l 58970 ./openisis -db db/test/t -ifdump | wc -l 585334 $ that is about 2,900 rows + 29,000 index entries per second. (without indexing, it writes nearly 15,000 rows a second). successive append are substantially slower, as IO cache is exhausted. * the never reading system On a 650 MHz system with *lots* of cache memory (it actually *never* reads a block), a test of five successive appends yields pretty much constants times around 29 seconds per pass (~ 2,000 rows + 20,000 entries / sec), although the .mst stacks up to 294850 records and the index then has 2926670 entries. That same system does on that fat db one million random reads in 10 seconds (~ rows 100,000 / sec) and an ifchk (252465 keys in 50596 blks of 1K depth 4) in 5.18 secs, accessing 48,738 per second. * dual CPU use Using both CPUs of this box, four parallel writers (copying unesb to four different targets) take a total of 60 seconds, giving a combined throughput of more than 3,900 rows + 39,000 index entries / sec. * comparision While these numbers are all derived with single threaded debugging code, they yet outperform the (more or less) "relational" databases by one or even two orders of magnitude. For example, MySQL tested 350768 inserts without key in in 619*0.62 seconds, yielding 914 rows/sec as compared 15,000 with OpenIsis. Insert with key (one, probably) did less than 35 rows per second, compared to around 3,000 (with ten keys each). Select (probably reading all rows) did 20,000 in 39*0.54 seconds, that is 950 per second -- compared to 100,000 with OpenIsis. I couldn't figure out what kind of system was used for these > http://www.mysql.com/information/benchmark-results/result-db2,informix,ms-sql,mysql,solid,sybase-relative.html MySQL benchmarks, however, it probably was not much less than our 800 MHz Pentium. Most other databases are even slower, and that, by the way, is also our experience when working with Oracle and the like.