1. 03 Mar, 2011 33 commits
  2. 02 Mar, 2011 1 commit
  3. 01 Mar, 2011 1 commit
  4. 24 Feb, 2011 4 commits
  5. 22 Feb, 2011 1 commit
    • Rewrite git_hashtable internals · fc658755
      The old hash table with chained buckets has been replaced by a new one
      using Cuckoo hashing, which offers guaranteed constant lookup times.
      This should improve speeds on most use cases, since hash tables in
      libgit2 are usually used as caches where the objects are stored once and
      queried several times.
      
      The Cuckoo hash implementation is based off the one in the Basekit
      library [1] for the IO language, but rewritten to support an arbritrary
      number of hashes. We currently use 3 to maximize the usage of the nodes pool.
      
      [1]: https://github.com/stevedekorte/basekit/blob/master/source/CHash.c
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed