commit-slab: avoid large realloc
authorJunio C Hamano <gitster@pobox.com>
Sat, 13 Apr 2013 06:25:49 +0000 (23:25 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 14 Apr 2013 05:15:42 +0000 (22:15 -0700)
commit66eb375d3d334efa3f467775a5f2a647c131c4b1
tree7c2570b1cad0876b77e69d21609d11c7a728272f
parent96c4f4a370591b4796628abe18f27f0133b21954
commit-slab: avoid large realloc

Instead of using a single "slab" and keep reallocating it as we find
that we need to deal with commits with larger values of commit->index,
make a "slab" an array of many "slab_piece"s. Each access may need
two levels of indirections, but we only need to reallocate the first
level array of pointers when we have to grow the table this way.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
commit.c