Re: [PATCH] Hold an 'unsigned long' chunk of the sha1 in obj_hash
From: Thomas Rast <hidden>
Date: 2016-06-15 22:57:06
Jeff King [off-list ref] writes:
It _might_ still be advantageous to do your patch on top, but I suspect it will diminish the returns from your patch (since the point of it is to probe less far down the chain on average).
No, mine makes it slower again. Apparently the increased size is no
longer worth it. You'll need a wide window to read this:
Test next tr/hash-speedup jk/hash-speedup both-hash-speedup
----------------------------------------------------------------------------------------------------------------------------------------
0001.1: rev-list --all 0.66(0.63+0.02) 0.66(0.63+0.03) -0.4% 0.66(0.63+0.03) -0.6% 0.66(0.62+0.03) -0.6%
0001.2: rev-list --all --objects 4.12(4.05+0.05) 3.81(3.74+0.06) -7.6%*** 3.50(3.43+0.05) -15.1%*** 3.56(3.49+0.05) -13.7%***
----------------------------------------------------------------------------------------------------------------------------------------
Note that the scripts always generate the percentages and significance
w.r.t. the first column. Comparing yours with both instead gives
Test jk/hash-speedup both-hash-speedup
---------------------------------------------------------------------------
0001.1: rev-list --all 0.66(0.63+0.03) 0.66(0.62+0.03) +0.0%
0001.2: rev-list --all --objects 3.50(3.43+0.05) 3.56(3.49+0.05) +1.6%*
---------------------------------------------------------------------------
which is still significant (in the statistical p=5% sense).
For kicks I also ran some other tests, which generally show that the
speedups are limited to this specific workload:
Test next tr/hash-speedup jk/hash-speedup both-hash-speedup
-------------------------------------------------------------------------------------------------------------------------------
3201.1: branch --contains 0.76(0.74+0.02) 0.75(0.73+0.02) -1.0%* 0.77(0.74+0.02) +0.7% 0.76(0.73+0.02) -0.7%
4000.1: log -3000 (baseline) 0.12(0.09+0.02) 0.12(0.10+0.02) +3.2% 0.12(0.10+0.01) +0.0% 0.12(0.10+0.02) +3.2%
4000.2: log --raw -3000 (tree-only) 0.53(0.47+0.05) 0.52(0.46+0.05) -0.9% 0.53(0.46+0.06) +0.0% 0.52(0.45+0.06) -0.9%
4000.3: log -p -3000 (Myers) 2.39(2.23+0.14) 2.38(2.23+0.13) -0.4% 2.38(2.23+0.14) -0.4% 2.38(2.23+0.13) -0.5%
4000.4: log -p -3000 --histogram 2.43(2.28+0.13) 2.43(2.28+0.13) -0.0% 2.43(2.28+0.13) -0.1% 2.43(2.28+0.14) +0.1%
4000.5: log -p -3000 --patience 2.72(2.57+0.12) 2.74(2.59+0.12) +0.7% 2.72(2.57+0.13) +0.2% 2.74(2.59+0.13) +0.8%.
-------------------------------------------------------------------------------------------------------------------------------
--
Thomas Rast
trast@{inf,student}.ethz.ch