Re: [PATCH 5/7] delta_base_cache: drop special treatment of blobs
From: Junio C Hamano <hidden>
Date: 2016-08-23 22:18:50
Jeff King [off-list ref] writes:
Let's run the same numbers without caring about object type at all (i.e., one LRU list, and always evicting whatever is at the head, regardless of type). ... So it seems like a clear winner, and that's what this patch implements. Signed-off-by: Jeff King <redacted> ---
Nice work. You make your readers expect some clever data structures that may perform better than the obvious two-separate-list approach and end up using the simplest way. Quite nice.
quoted hunk
sha1_file.c | 8 -------- 1 file changed, 8 deletions(-)diff --git a/sha1_file.c b/sha1_file.c index c02e785..33564d6 100644 --- a/sha1_file.c +++ b/sha1_file.c@@ -2175,14 +2175,6 @@ static void add_delta_base_cache(struct packed_git *p, off_t base_offset, list_entry(lru, struct delta_base_cache_entry, lru); if (delta_base_cached <= delta_base_cache_limit) break; - if (f->type == OBJ_BLOB) - release_delta_base_cache(f); - } - list_for_each(lru, &delta_base_cache_lru) { - struct delta_base_cache_entry *f = - list_entry(lru, struct delta_base_cache_entry, lru); - if (delta_base_cached <= delta_base_cache_limit) - break; release_delta_base_cache(f); }