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

Re: [PATCH 0/6] thread lazy_init_name_hash

From
JHJeff Hostetler <git@jeffhostetler.com>
Date
Mar 22, 2017, 19:22 UTC
Message-ID
<90a7b4fa-67bf-6501-1da6-97883d7cde4a@jeffhostetler.com>
In-Reply-To
<CAGZ79kYh0eP-dzpX58SrSRJGEr9iyOb0Q3vizsvxE81kzddwxQ@mail.gmail.com>
On 3/22/2017 2:02 PM, Stefan Beller wrote:
Show 9 quoted lines
> On Wed, Mar 22, 2017 at 10:14 AM,  <git@jeffhostetler.com> wrote:
>>
>> During our testing on the Windows source tree (3.1M
>> files, 500K folders, 450MB index), this change reduced
>> the runtime of lazy_init_name_hash() from 1.4 to 0.27
>> seconds.
>
> This sounds promising. :)
> A fast skim over the code makes me like the code.
I forgot to mention that this was on an 8 (logical) core machine.
Show 6 quoted lines
>
>>  hashmap.c                           |  29 ++-
>>  hashmap.h                           |  25 ++
>
> Could you add some documentation to
> Documentation/technical/api-hashmap.txt ?
Will do. Thanks.
> (Bonus points for migrating the documentation inline,
> c.f. discussion surrounding [1])
>
> [1] https://public-inbox.org/git/20141212212800.GA27451@peff.net/
I'd like to save this for a separate effort.
Show 7 quoted lines
>
>>  name-hash.c                         | 490 +++++++++++++++++++++++++++++++++++-
>
> AFAICT the new threading is all implicit in name-hash and we do not expose
> its functionality or tuning knobs outside the testing helper, such that we do
> not need API documentation here, but only enough code comments to
> understand the code for maintainability?

Yes, my goal was to just make it transparent to all callers. Especially since the main lazy_init_name_hash() function is static and not visible anyway.

Jeff
Previous: Stefan BellerNext: Junio C Hamano
Message 9 of 14 in “thread lazy_init_name_hash”
  1. 0/6 thread lazy_init_name_hashgit@jeffhostetler.com, Mar 22, 2017
  2. 3/6 hashmap: Add disallow_rehash settinggit@jeffhostetler.com, Mar 22, 2017
  3. 4/6 name-hash: perf improvement for lazy_init_name_hashgit@jeffhostetler.com, Mar 22, 2017
  4. 1/6 name-hash: specify initial size for istate.dir_hash tablegit@jeffhostetler.com, Mar 22, 2017
  5. 2/6 hashmap: allow memihash computation to be continuedgit@jeffhostetler.com, Mar 22, 2017
  6. 6/6 name-hash: add perf test for lazy_init_name_hashgit@jeffhostetler.com, Mar 22, 2017
  7. 5/6 name-hash: add test-lazy-init-name-hashgit@jeffhostetler.com, Mar 22, 2017
  8. Stefan BellerMar 22, 2017
  9. Jeff HostetlerMar 22, 2017
  10. Junio C HamanoMar 22, 2017
  11. Junio C HamanoMar 22, 2017
  12. Jeff HostetlerMar 22, 2017
  13. Junio C HamanoMar 22, 2017
  14. Junio C HamanoMar 22, 2017

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.