Re: jk/loose-object-cache
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 7, 2019, 19:29 UTC
- Message-ID
- <xmqqo98s8dwv.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <3512c798-aa42-6fba-ee82-d33a8985be91@web.de>
René Scharfe <l.s.r@web.de> writes:
Show 6 quoted lines
> Am 28.12.2018 um 19:04 schrieb Junio C Hamano: >> * jk/loose-object-cache (2018-11-24) 10 commits > ... > So this has hit master in the meantime. We discussed a sort performance > fix in [1]; I'll reply with a short series containing a cleaned-up and > rebased version as a follow-up.
Thanks.
-- >8 -- Subject: [PATCH 4/3] sha1-file.c: make odb_load_loose_cache() static
Now there is only a single internal caller to this helper function that knows the implementation detail of the cache too much, hide it from outside world by making it static.
Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> --- object-store.h | 7 ------- sha1-file.c | 24 +++++++++++++++--------- 2 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/object-store.h b/object-store.h index 2fb6c0e4db..e16aa38cae 100644 --- a/object-store.h +++ b/object-store.h @@ -47,13 +47,6 @@ void add_to_alternates_file(const char *dir); */ void add_to_alternates_memory(const char *dir); -/* - * Populate an odb's loose object cache for one particular subdirectory (i.e., - * the one that corresponds to the first byte of objects you're interested in, - * from 0 to 255 inclusive). - */ -void odb_load_loose_cache(struct object_directory *odb, int subdir_nr); - /* * Populate and return the loose object cache array corresponding to the * given object ID. diff --git a/sha1-file.c b/sha1-file.c index 2adc56cde4..936d216ad4 100644 --- a/sha1-file.c +++ b/sha1-file.c @@ -2150,15 +2150,12 @@ static int append_loose_object(const struct object_id *oid, const char *path, return 0; } -struct oid_array *odb_loose_cache(struct object_directory *odb, - const struct object_id *oid) -{ - int subdir_nr = oid->hash[0]; - odb_load_loose_cache(odb, subdir_nr); - return &odb->loose_objects_cache[subdir_nr]; -} - -void odb_load_loose_cache(struct object_directory *odb, int subdir_nr) +/* + * Populate an odb's loose object cache for one particular subdirectory (i.e., + * the one that corresponds to the first byte of objects you're interested in, + * from 0 to 255 inclusive). + */ +static void odb_load_loose_cache(struct object_directory *odb, int subdir_nr) { struct strbuf buf = STRBUF_INIT; @@ -2178,6 +2175,15 @@ void odb_load_loose_cache(struct object_directory *odb, int subdir_nr) strbuf_release(&buf); } +struct oid_array *odb_loose_cache(struct object_directory *odb, + const struct object_id *oid) +{ + int subdir_nr = oid->hash[0]; + odb_load_loose_cache(odb, subdir_nr); + return &odb->loose_objects_cache[subdir_nr]; +} + + void odb_clear_loose_cache(struct object_directory *odb) { int i;