Re: [PATCH 3/3] object-store: use one oid_array per subdirectory for loose cache

2019-01-06 Thread René Scharfe
Am 06.01.2019 um 21:38 schrieb Ævar Arnfjörð Bjarmason: >> $ git count-objects >> 26733 objects, 68808 kilobytes >> >> TestHEAD^ HEAD >> >> 4205.1: log with %H 0.51(0.47+0.04) 0.51(0.4

Re: [PATCH 3/3] object-store: use one oid_array per subdirectory for loose cache

2019-01-06 Thread Ævar Arnfjörð Bjarmason
On Sun, Jan 06 2019, René Scharfe wrote: Thanks. I haven't done my own performance testing but at a glance this looks good. > The cache is used for collision checks for the log placeholders %h, %t > and %p, and we can see the change speeding them up in a repository with > ca. 100 objects per su

[PATCH 3/3] object-store: use one oid_array per subdirectory for loose cache

2019-01-06 Thread René Scharfe
The loose objects cache is filled one subdirectory at a time as needed. It is stored in an oid_array, which has to be resorted after each add operation. So when querying a wide range of objects, the partially filled array needs to be resorted up to 255 times, which takes over 100 times longer than