git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
René Scharfe <l.s.r@web.de>
Date
Jan 6, 2019, 22:58 UTC
Message-ID
<949fb568-295f-de4a-dc87-bc721e8aea29@web.de>
In-Reply-To
<87imz1ed25.fsf@evledraar.gmail.com>
Am 06.01.2019 um 21:38 schrieb Ævar Arnfjörð Bjarmason:
Show 16 quoted lines
>> $ git count-objects
>> 26733 objects, 68808 kilobytes
>>
>> Test                        HEAD^             HEAD
>> --------------------------------------------------------------------
>> 4205.1: log with %H         0.51(0.47+0.04)   0.51(0.49+0.02) +0.0%
>> 4205.2: log with %h         0.84(0.82+0.02)   0.60(0.57+0.03) -28.6%
>> 4205.3: log with %T         0.53(0.49+0.04)   0.52(0.48+0.03) -1.9%
>> 4205.4: log with %t         0.84(0.80+0.04)   0.60(0.59+0.01) -28.6%
>> 4205.5: log with %P         0.52(0.48+0.03)   0.51(0.50+0.01) -1.9%
>> 4205.6: log with %p         0.85(0.78+0.06)   0.61(0.56+0.05) -28.2%
>> 4205.7: log with %h-%h-%h   0.96(0.92+0.03)   0.69(0.64+0.04) -28.1%
> 
> Can you elaborate on the test setup required to get to the point where
> you got these numbers for subsequent comparison, i.e. how you generated
> the approx 100 objects per dir, what OS/version & storage type etc.

I happened to have that many loose objects lying around. Numbers are for Debian Testing on a Hyper-V VM on Windows 10 1893 on an SSD.

You could fake object directory entries with something like this:
    for d in .git/objects/??
    do
        for i in $(seq 0 9)
        do
            >"$d/0000000000000000000000000000000000000$i"
        done
    done
René
Previous: Ævar Arnfjörð BjarmasonNext: Jeff King
Message 20 of 45 in “What's cooking in git.git (Dec 2018, #02; Fri, 28)”
  1. Junio C HamanoDec 28, 2018
  2. Elijah NewrenDec 28, 2018
  3. Johannes SchindelinJan 3, 2019
  4. Elijah NewrenJan 7, 2019
  5. ag/sequencer-reduce-rewriting-todo, was Re: What's cooking in git.git (Dec 2018, #02; Fri, 28)Alban Gruin, Dec 28, 2018
  6. Junio C HamanoDec 28, 2018
  7. Denton LiuDec 29, 2018
  8. ps/stash-in-c, was Re: What's cooking in git.git (Dec 2018, #02; Fri, 28)Johannes Schindelin, Jan 3, 2019
  9. jk/loose-object-cacheRené Scharfe, Jan 6, 2019
  10. 1/3 object-store: factor out odb_loose_cache()René Scharfe, Jan 6, 2019
  11. Jeff KingJan 7, 2019
  12. René ScharfeJan 7, 2019
  13. René ScharfeJan 7, 2019
  14. Philip OakleyJan 7, 2019
  15. Jeff KingJan 7, 2019
  16. René ScharfeJan 7, 2019
  17. 2/3 object-store: factor out odb_clear_loose_cache()René Scharfe, Jan 6, 2019
  18. 3/3 object-store: use one oid_array per subdirectory for loose cacheRené Scharfe, Jan 6, 2019
  19. Ævar Arnfjörð BjarmasonJan 6, 2019
  20. René ScharfeJan 6, 2019
  21. 0/11 jk/loose-object-cache sha1/object_id fixupsJeff King, Jan 7, 2019
  22. 01/11 sha1-file: fix outdated sha1 comment referencesJeff King, Jan 7, 2019
  23. 02/11 update comment references to sha1_object_info()Jeff King, Jan 7, 2019
  24. 03/11 http: use struct object_id instead of bare sha1Jeff King, Jan 7, 2019
  25. 04/11 sha1-file: modernize loose object file functionsJeff King, Jan 7, 2019
  26. 05/11 sha1-file: modernize loose header/stream functionsJeff King, Jan 7, 2019
  27. 06/11 sha1-file: convert pass-through functions to object_idJeff King, Jan 7, 2019
  28. 07/11 convert has_sha1_file() callers to has_object_file()Jeff King, Jan 7, 2019
  29. 08/11 sha1-file: drop has_sha1_file()Jeff King, Jan 7, 2019
  30. 09/11 sha1-file: prefer "loose object file" to "sha1 file" in messagesJeff King, Jan 7, 2019
  31. 10/11 sha1-file: avoid "sha1 file" for generic use in messagesJeff King, Jan 7, 2019
  32. 11/11 prefer "hash mismatch" to "sha1 mismatch"Jeff King, Jan 7, 2019
  33. René ScharfeJan 8, 2019
  34. Junio C HamanoJan 8, 2019
  35. Jeff KingJan 8, 2019
  36. Junio C HamanoJan 8, 2019
  37. Derrick StoleeJan 8, 2019
  38. Junio C HamanoJan 8, 2019
  39. Jeff KingJan 8, 2019
  40. Stefan BellerJan 9, 2019
  41. Stefan BellerJan 9, 2019
  42. Jeff KingJan 10, 2019
  43. 4/3 object-store: retire odb_load_loose_cache()René Scharfe, Jan 7, 2019
  44. Junio C HamanoJan 7, 2019
  45. Junio C HamanoJan 7, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.