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

Re: [PATCHv4 08/12] Teach the notes lookup code to parse notes trees with various fanout schemes

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 27, 2009, 20:55 UTC
Message-ID
<7vtyztq8nv.fsf@alter.siamese.dyndns.org>
In-Reply-To
<200908271135.31794.johan@herland.net>
Johan Herland <johan@herland.net> writes:
Show 7 quoted lines
> 2. Simply decide on a constant 2/2/36 fanout. For the case with < 256K 
> notes, this is somewhat wasteful, but not prohibitively expensive. For the 
> case with > 64M notes, performance will start to degrade. The big advantage 
> with this approach is that when this is hardcoded into the notes code, we 
> have regained the property that notes for a given commit have exactly _one_ 
> unique position in the notes tree across all installations (enabling us to 
> fall back on the regular merge strategy).

I thought it was Gitney who suggested to use a top-level fan-out based on the committer-date. If you typically have already parsed the commit when you want to look up notes objects for it, it won't have extra overhead, and when looking at only recent history it will only need to access a small subset of trees. I thought it was a neat idea (except that the question becomes what the granularity of the top level fan-out should be---one a day? one a month?---the optimum would depend on commit density). Was that idea shot down for some reason?

Previous: Johannes SchindelinNext: Shawn O. Pearce
Message 15 of 38 in “[PATCHv4 00/12] git notes”
  1. Johan HerlandAug 27, 2009
  2. 01/12 Introduce commit notesJohan Herland, Aug 27, 2009
  3. 02/12 Add a script to edit/inspect notesJohan Herland, Aug 27, 2009
  4. 03/12 Speed up git notes lookupJohan Herland, Aug 27, 2009
  5. 04/12 Add an expensive test for git-notesJohan Herland, Aug 27, 2009
  6. 05/12 Teach "-m <msg>" and "-F <file>" to "git notes edit"Johan Herland, Aug 27, 2009
  7. 06/12 fast-import: Add support for importing commit notesJohan Herland, Aug 27, 2009
  8. 07/12 t3302-notes-index-expensive: Speed up create_repo()Johan Herland, Aug 27, 2009
  9. 08/12 Teach the notes lookup code to parse notes trees with various fanout schemesJohan Herland, Aug 27, 2009
  10. Junio C HamanoAug 27, 2009
  11. Johan HerlandAug 27, 2009
  12. Johannes SchindelinAug 27, 2009
  13. Junio C HamanoAug 27, 2009
  14. Johannes SchindelinAug 28, 2009
  15. Junio C HamanoAug 27, 2009
  16. Shawn O. PearceAug 27, 2009
  17. Junio C HamanoAug 27, 2009
  18. Johan HerlandAug 27, 2009
  19. Jeff KingAug 27, 2009
  20. Junio C HamanoAug 28, 2009
  21. Sverre RabbelierAug 28, 2009
  22. Junio C HamanoAug 28, 2009
  23. Sverre RabbelierAug 28, 2009
  24. Junio C HamanoAug 28, 2009
  25. Sverre RabbelierAug 28, 2009
  26. Junio C HamanoAug 28, 2009
  27. Johannes SchindelinAug 28, 2009
  28. Johan HerlandAug 28, 2009
  29. Johannes SchindelinAug 28, 2009
  30. Johan HerlandAug 28, 2009
  31. Johannes SchindelinAug 27, 2009
  32. 09/12 Selftests verifying semantics when loading notes trees with various fanoutsJohan Herland, Aug 27, 2009
  33. 10/12 notes.c: Implement simple memory pooling of leaf nodesJohan Herland, Aug 27, 2009
  34. Alex RiesenAug 27, 2009
  35. Johan HerlandAug 27, 2009
  36. Johan HerlandAug 27, 2009
  37. 11/12 Add flags to get_commit_notes() to control the format of the note stringJohan Herland, Aug 27, 2009
  38. 12/12 Add '%N'-format for pretty-printing commit notesJohan Herland, Aug 27, 2009

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.