Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
a0f3a51
WIP: robin hood hashing
rciorba Aug 2, 2016
141c729
WIP: disable failing selftests because they break other tests
rciorba Aug 2, 2016
60f7501
cleanup + fix offset tracking on swap
rciorba Aug 4, 2016
1387b2d
update capacity based on new HASH_MAX_LOAD
rciorba Aug 21, 2016
e9d9f1a
use .99 HASH_MAX_LOAD
rciorba Sep 7, 2016
0ba49eb
add benchmark tests for ChunkIndex
rciorba Sep 7, 2016
689f93a
avoid creation of very large byte strings in benchmark
rciorba Sep 7, 2016
82d8ba0
extract slow parts of benchmark
rciorba Sep 8, 2016
e1a5c12
set MAX_HASH_LOAD to 0.93
rciorba Sep 8, 2016
21f881b
update hardcoded hashes in testsuite/hashindex.py
rciorba Sep 8, 2016
92bd12f
Merge remote-tracking branch 'origin/master' into robin_hood
rciorba Sep 8, 2016
71a4669
appease flake8
rciorba Sep 8, 2016
163c3a2
benchmark hash get/set with 2**23 keys
rciorba Sep 8, 2016
c07fcf1
add 1/3 misses in getitem benchmark
rciorba Sep 15, 2016
2d7925a
shortcut hashindex_set by having hashindex_lookup hint about address
rciorba Sep 26, 2016
8b01b32
fix compilation on arm
rciorba Dec 21, 2016
c11dda6
WIP: more rounds, fewer keys in benchmarks
rciorba Dec 17, 2016
075f8f8
WIP: move most of benchmark code in C reduce inconsistencies
rciorba Dec 19, 2016
a9390b1
actually fill the hashindex close to 93%
rciorba Dec 27, 2016
cc001c7
lower key count and iterations since the benchmark is taking to long
rciorba Dec 27, 2016
261f758
fix bug in hashindex_set that never triggered RH swapping
rciorba Dec 29, 2016
a197a13
separate benchmarks for inserting and updating values
rciorba Dec 29, 2016
7909b82
make the RH bucket swap thread safe
rciorba Dec 30, 2016
6e3ece1
remove commented out code
rciorba Dec 30, 2016
d7b4cd8
re-add missing keys to getitem benchmark
rciorba Dec 30, 2016
498a82f
rename all c benchmarks so it's easier to run them exclusively
rciorba Dec 31, 2016
63e7dbb
separate test for getitem without lookups for missing keys
rciorba Dec 31, 2016
7e0e8e5
benchmark multiple fill rates
rciorba Jan 8, 2017
e032ac4
WIP
rciorba Jan 8, 2017
13a8faa
measure more fill rates at 85 and 90%
rciorba Jan 8, 2017
4de8578
implement deletion for robin hood hashing
rciorba Jan 13, 2017
94781af
add benchmark for deletion + churn benchmark
rciorba Jan 15, 2017
151de70
actually call the churn function in the benchmark
rciorba Jan 15, 2017
64cedf6
fix segfault in c_delete benchmark
rciorba Jan 16, 2017
8031a55
move tmp_entry + entry_to_insert from stack to single alloc on heap
rciorba Jan 24, 2017
e6e6b32
only check for offset shortcut periodically when setting value
rciorba Jan 28, 2017
a8b528a
replace multiple memswap calls with single call to memmove
rciorba Feb 16, 2017
10314aa
add extra test for the hashindex
rciorba Feb 20, 2017
b66be6a
init the hashindex with same capacity in c benchmarks
rciorba Feb 20, 2017
4d8ab86
don't leak memory with the entry_to_insert+tmp_entry
rciorba Feb 21, 2017
340a624
fix bad skiphint in hashindex_lookup
rciorba Feb 21, 2017
3f3ab2d
fix bad setup in c benchmarks
rciorba Feb 21, 2017
e5092bc
delete commented out code in benchmark.py
rciorba Feb 22, 2017
91bec5e
run missing key lookup shortcut every 64 buckets
rciorba Feb 22, 2017
4ab6309
fix setitem benchmark to use an empty index
rciorba Feb 22, 2017
a968a62
implement shifting for deletion
rciorba Feb 25, 2017
a0c000d
wrap up delete memmove
rciorba Feb 27, 2017
4d1303a
remove a bunch of debug code
rciorba Feb 27, 2017
36bdbad
get rid of unused index->entry_to_insert
rciorba Feb 27, 2017
78be711
cleanup the benchmark code
rciorba Feb 27, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading