Let me first give the address of my own solution (not plan9, but planport): https://github.com/vestein463/plan9port under src/cmd/venti/srv/mventi.c
The implementation uses the original arena format, but does not need indexsects or bloom filter (bloom filter is not useful in this case as the trie implementation of the index is just effective enough) , but of course sufficient main memory to hold the index. I read the directories of the arenas at startup. This takes some 3 Minutes for 80GB arenas. The tricky thing is to avoid the storage (20 mostly useless bytes) of the full scores in the index tree. If you read data, you expect the score to be present already on the arena partitition, so you only need the leading bytes of the score to find that. The other tricky thing is the decision whether to use 16-way or 8-way trie, because the last node will contain few entries, but the all of the upper ones are full or nearly full. ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tb88459bd8ed4d095-Mdb8eefaae896b634360abdbf Delivery options: https://9fans.topicbox.com/groups/9fans/subscription
