Some news on my effort. This morning I used my venti do to real work, serving the fossil filesystem to boot  a 386 vm. So far, it looks good. I did not try to write yet. I changed my trie.c for some optimisations: I ditched my union trienode for separate struct trieleaf and struct trienode with the effect that leaves are now stored in 32 byte  instead of the 64 byte nodes. This reduces the actual memory footprint from 15m*64 to 10m*32+5m*64. The next optimisation will reduce the trienode size to 48 bytes. Another optimisation is the shortening of the first 4 levels of the trie, which are trivial. now, I just use the first 2 bytes of the score to directly addressing the first explicit trienode, which may contain 16 indices to either other trienodes or leaves, discerned by 0 for empty, positive for leaf and negative for trienode.    ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T21878aa53884911b-Mccf878acc9623014dca300d2 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription