]> git.ipfire.org Git - thirdparty/git.git/commit - cache.h
name-hash: add test-lazy-init-name-hash
authorJeff Hostetler <jeffhost@microsoft.com>
Thu, 23 Mar 2017 13:47:04 +0000 (13:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 24 Mar 2017 18:00:03 +0000 (11:00 -0700)
commitea194895326d10f6e255eee05ac25ab5ae096dd9
treeb7860eb144bd3205fd94bec32bb12a5d6dc06889
parent846df809bc671d6487fa2be7550e3ed2b62e62f9
name-hash: add test-lazy-init-name-hash

Add t/helper/test-lazy-init-name-hash.c test code
to demonstrate performance times for lazy_init_name_hash()
using the original single-threaded and the new multi-threaded
code paths.

Includes a --dump option to dump the created hashmaps to
stdout.  You can use this to run both code paths and
confirm that they generate the same hashmaps.

Includes a --analyze option to analyze performance of both
code paths over a range of index sizes to help you find a
lower bound for the LAZY_THREAD_COST in name-hash.c.
For example, passing "-a 4000" will set "istate.cache_nr"
to 4000 and then try the multi-threaded code -- probably
giving 2 threads with 2000 entries each.  It will then
run both the single-threaded (1x4000) and the multi-threaded
(2x2000) and compare the times.  It will then repeat the
test with 8000, 12000, and etc. so that you can see the
cross over.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile
cache.h
t/helper/test-lazy-init-name-hash.c [new file with mode: 0644]