]> git.ipfire.org Git - thirdparty/valgrind.git/commit
fix 369468 Remove quadratic metapool alg. using VG_(HT_remove_at_Iter)(VgHashTable...
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Sat, 15 Oct 2016 09:30:39 +0000 (09:30 +0000)
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Sat, 15 Oct 2016 09:30:39 +0000 (09:30 +0000)
commit7ac00163a31c6664e150511e2562ec7ac15dbe0c
treea3ccce9365c2223285e4cc0f541347c125fb01e5
parent802aefb21106b350afa1330d5a13ba7d49bf3bb1
fix 369468 Remove quadratic metapool alg. using VG_(HT_remove_at_Iter)(VgHashTable *table)

Based on a patch from Ruurd Beerstra
but reworked VG_(HT_remove_at_Iter) so that
the function is implemented without touching the rest of m_hashtable.c
to ensure no performance impact on other hash table usages.

Testing with
for f in 1 2 3 4 5 6 7 8 9; do echo $f;  time ./vg-in-place -q ./memcheck/tests/leak-autofreepool 2 $(expr $f \* 100000); done|&grep user

With the patch :
user 0m0.524s
user 0m0.660s
user 0m0.784s
user 0m0.916s
user 0m1.064s
user 0m1.192s
user 0m1.316s
user 0m1.496s
user 0m1.632s

Without the patch, the same gives:
user 0m4.464s
user 0m16.776s
user 0m24.472s
user 1m5.544s
user 1m21.168s
user 1m40.500s
user 1m54.884s
user 4m58.308s
user 5m34.060s

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16041
NEWS
coregrind/m_hashtable.c
include/pub_tool_hashtable.h
memcheck/mc_malloc_wrappers.c
memcheck/tests/Makefile.am
memcheck/tests/leak-autofreepool-6.stderr.exp [new file with mode: 0644]
memcheck/tests/leak-autofreepool-6.vgtest [new file with mode: 0644]
memcheck/tests/leak-autofreepool.c