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

Re: [PATCH v4 4/5] MyFirstObjectWalk: fix description for counting omitted objects

From
Dirk Gouders <dirk@gouders.net>
Date
Mar 26, 2024, 20:09 UTC
Message-ID
<gh34scvjq3.fsf@gouders.net>
In-Reply-To
<xmqqo7b1apx3.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 26 quoted lines
> Dirk Gouders <dirk@gouders.net> writes:
>
>> diff --git a/Documentation/MyFirstObjectWalk.txt b/Documentation/MyFirstObjectWalk.txt
>> index a06c712e46..6901561263 100644
>> --- a/Documentation/MyFirstObjectWalk.txt
>> +++ b/Documentation/MyFirstObjectWalk.txt
>> @@ -754,10 +754,12 @@ points to the same tree object as its grandparent.)
>>  === Counting Omitted Objects
>>  
>>  We also have the capability to enumerate all objects which were omitted by a
>> -filter, like with `git log --filter=<spec> --filter-print-omitted`. Asking
>> -`traverse_commit_list_filtered()` to populate the `omitted` list means that our
>> -object walk does not perform any better than an unfiltered object walk; all
>> -reachable objects are walked in order to populate the list.
>> +filter, like with `git log --filter=<spec> --filter-print-omitted`. To do this,
>> +change `traverse_commit_list()` to `traverse_commit_list_filtered()`, which is
>> +able to populate an `omitted` list.  This list of filtered objects may have
>> +performance implications, however, because despite filtering objects, the possibly
>> +much larger set of all reachable objects must be processed in order to
>> +populate that list.
>
> It may be just me not reading what is obvious to everybody else
> clearly, in which case I am happy to take the above text as-is, but
> the updated text that says a "list" may have "performance
> implications" reads a bit odd.  It would be understandable if you
> said "asking for list of filtered objects may have", though.

Oh yes, you are right (as far as I can say): I would change this to something like:

"Asking for this list of filtered objects may cause performance implications, however, because in this case, despite filtering objects, the possibly much larger set of all reachable objects must be processed in order to populate that list."

(Later in the document, it is suggested to do timing with the two versions, which kind of follows up on the performance impact that is focused on, here. So, this doesn't remain an unresolved detail.)

Show 8 quoted lines
> Are you contrasting a call to traverse_commit_list() and
> traverse_commit_list_filtered() and discussing their relative
> performance?  
>
> Of are you contrasting a call to traverse_commit_list_filtered()
> with and without the omitted parameter, and saying that a call with
> omitted parameter asks the machinery to do more work so it has to
> cost more?
This answer has the potential to cause an enhancement request, anyway:

Previously, the document didn't state that traverse_commit_list_filtered() can be used without asking for a `omitted` list (and I didn't change that), so the contrasting in my understanding explicitely is traverse_commit_list() vs. traverse_commit_list_filtered().

The second of your cases is only included implicitely, for those who know or can guess they could use NULL as the pointer to `omitted` list.

Thank you for looking at this one more time!
Dirk
> Other than that I had no trouble with this latest round.
>
> Thanks.
Previous: Junio C HamanoNext: Junio C Hamano
Message 46 of 49 in “Fixes for Documentation/MyFirstObjectWalk.txt”
  1. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 19, 2024
  2. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 19, 2024
  3. Kyle LippincottMar 23, 2024
  4. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 19, 2024
  5. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 19, 2024
  6. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 19, 2024
  7. Kyle LippincottMar 23, 2024
  8. Dirk GoudersMar 23, 2024
  9. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 19, 2024
  10. Kyle LippincottMar 23, 2024
  11. Dirk GoudersMar 23, 2024
  12. Kyle LippincottMar 23, 2024
  13. Dirk GoudersMar 23, 2024
  14. Junio C HamanoMar 24, 2024
  15. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 25, 2024
  16. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 25, 2024
  17. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 25, 2024
  18. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 25, 2024
  19. Junio C HamanoMar 25, 2024
  20. Dirk GoudersMar 25, 2024
  21. Junio C HamanoMar 25, 2024
  22. Kyle LippincottMar 25, 2024
  23. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 25, 2024
  24. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 25, 2024
  25. Junio C HamanoMar 25, 2024
  26. Dirk GoudersMar 25, 2024
  27. Kyle LippincottMar 25, 2024
  28. Dirk GoudersMar 25, 2024
  29. Junio C HamanoMar 25, 2024
  30. Kyle LippincottMar 25, 2024
  31. Dirk GoudersMar 25, 2024
  32. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 26, 2024
  33. Kyle LippincottMar 27, 2024
  34. Dirk GoudersMar 27, 2024
  35. 0/5 Fixes for Documentation/MyFirstObjectWalk.txtDirk Gouders, Mar 27, 2024
  36. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 27, 2024
  37. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 27, 2024
  38. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 27, 2024
  39. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 27, 2024
  40. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 27, 2024
  41. 1/5 MyFirstObjectWalk: use additional arg in config_fn_tDirk Gouders, Mar 26, 2024
  42. 2/5 MyFirstObjectWalk: fix misspelled "builtins/"Dirk Gouders, Mar 26, 2024
  43. 3/5 MyFirstObjectWalk: fix filtered object walkDirk Gouders, Mar 26, 2024
  44. 4/5 MyFirstObjectWalk: fix description for counting omitted objectsDirk Gouders, Mar 26, 2024
  45. Junio C HamanoMar 26, 2024
  46. Dirk GoudersMar 26, 2024
  47. Junio C HamanoMar 26, 2024
  48. Dirk GoudersMar 27, 2024
  49. 5/5 MyFirstObjectWalk: add stderr to pipe processingDirk Gouders, Mar 26, 2024

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.