Tuesday, June 10, 2008

shash

While both bored and studying for my CSE303 final, I decided to write something that would count as good practice towards it, including profiling, debugging, and Subversion use. It ended up a hash system using a trie, with three different primary types:

  • SHash: A trie hash allowing all non-null characters in its search strings.
    • SCHash: A caching variant in order to speed up lookups.
  • TSHash: A trie hash allowing all non-null characters in its search strings, with mutexes built-in for multithreaded code.
    • TSCHash: A caching variant in order to speed up lookups.
  • LHash: A trie hash allowing all printable ASCII characters in its search string to reduce memory consumption.
    • LCHash: A caching variant in order to speed up lookups.

Here's a tar archive of it. I find it a lot of fun to play with, especially using the intense_test binary and adjusting its #define parameters.

No comments: