Speed up git notes lookup
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Fri, 9 Oct 2009 10:21:59 +0000 (12:21 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 20 Oct 2009 01:59:42 +0000 (18:59 -0700)
To avoid looking up each and every commit in the notes ref's tree
object, which is very expensive, speed things up by slurping the tree
object's contents into a hash_map.

The idea for the hashmap singleton is from David Reiss, initial
benchmarking by Jeff King.

Note: the implementation allows for arbitrary entries in the notes
tree object, ignoring those that do not reference a valid object. This
allows you to annotate arbitrary branches, or objects.

This patch has been improved by the following contributions:
- Junio C Hamano: fixed an obvious error in initialize_hash_map()

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
No differences found