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

Reply via email to