andrew
|
d9c0d24e58
|
Don't run benchmarks in jenkins
It's probably too noisy and I don't even look anyway
|
2024-03-05 12:34:35 -08:00 |
|
andrew
|
3f121dc681
|
Trim down docker file and avoid valgrind when cross-compiling
|
2024-03-05 11:39:36 -08:00 |
|
andrew
|
3ea0f405f2
|
Allow __stack_chk_[a-z]*
|
2024-03-05 11:37:33 -08:00 |
|
andrew
|
1811342cb6
|
Try to fix cross-compile packaging
|
2024-03-05 11:06:14 -08:00 |
|
andrew
|
16aa52c071
|
Try cross-compiling to arm in jenkins
|
2024-03-04 22:58:04 -08:00 |
|
andrew
|
b68e04ba80
|
Fix file pattern
|
2024-03-04 20:09:38 -08:00 |
|
andrew
|
45e8d68234
|
Try building an RPM in jenkins
|
2024-03-04 19:55:45 -08:00 |
|
andrew
|
760a99098a
|
Improve coverage slightly
By moving test-only code to a test-only region. Also the skip_list
shared lib can depend on libstdc++ etc.
|
2024-03-04 17:04:06 -08:00 |
|
andrew
|
e6a88852b3
|
Add comment explaining interface of maxBetweenExclusive
|
2024-03-04 16:47:30 -08:00 |
|
andrew
|
b97f611a3c
|
Present gc as ratio of time in gc to time in add or gc
|
2024-03-03 20:53:29 -08:00 |
|
andrew
|
10436096d1
|
Fix leak of mmap'd memory
|
2024-03-03 20:53:19 -08:00 |
|
andrew
|
ad11782029
|
Fix iterator invalidation bug
Standard says operator[] may invalidate iterators. Never actually
crashed though /shrug
|
2024-03-03 20:44:13 -08:00 |
|
andrew
|
8bf3aa7f56
|
Add std::unordered_map implementation
As a rough upper bound for point query throughput
|
2024-03-03 20:32:19 -08:00 |
|
andrew
|
a4b03bc216
|
Add example augmented radix tree figure
|
2024-02-29 16:35:07 -08:00 |
|
andrew
|
946694b8a5
|
Prepare for tikz files
|
2024-02-28 18:28:57 -08:00 |
|
andrew
|
7345eceab3
|
Minor paper edits
|
2024-02-28 16:43:04 -08:00 |
|
andrew
|
9b50393e15
|
Don't number Abstract
|
2024-02-28 16:42:44 -08:00 |
|
andrew
|
6c8655798a
|
Add draft watermark
|
2024-02-28 14:59:23 -08:00 |
|
andrew
|
86e99e4664
|
Apparently latexmk is what I was looking for
|
2024-02-28 14:45:59 -08:00 |
|
andrew
|
6b99b85f9e
|
Set version and soversion on skip_list
|
2024-02-27 18:21:16 -08:00 |
|
andrew
|
92fea7f56b
|
Add missing includes
|
2024-02-27 17:33:23 -08:00 |
|
andrew
|
717264b452
|
Remove show memory for skip list for now
|
2024-02-27 12:02:51 -08:00 |
|
andrew
|
68bd39e130
|
Put skip list in its own shared lib
Now we can right benchmarks against one api, and just change the library
path
|
2024-02-27 12:02:01 -08:00 |
|
andrew
|
25a1226667
|
Fix setOldestVersion bug
We should update the oldest version even if we don't have enough
keyUpdates to do
|
2024-02-27 10:59:59 -08:00 |
|
andrew
|
d4d2dbcbda
|
Strip off leading {P,L}<tab>
|
2024-02-27 10:29:59 -08:00 |
|
andrew
|
6d9b35396f
|
Rename to real_data_bench
|
2024-02-26 19:37:15 -08:00 |
|
andrew
|
0c177fb40f
|
Measure throughput in RealDataBench
|
2024-02-26 19:34:28 -08:00 |
|
andrew
|
f38198a39d
|
Amortize cost of pausing gc in setOldestVersion
|
2024-02-26 19:23:29 -08:00 |
|
andrew
|
5f7789128e
|
Add RealDataBench.cpp
|
2024-02-26 17:17:07 -08:00 |
|
andrew
|
3f45535f89
|
Fix setOldestVersion
We were not accumulating keyUpdates strictly faster than we were
spending them for a monotonically increasing workload.
|
2024-02-26 13:51:03 -08:00 |
|
andrew
|
2b0dbabb5c
|
Add public showMemory symbol (when SHOW_MEMORY=1)
|
2024-02-26 13:48:20 -08:00 |
|
andrew
|
be7f643f14
|
Add Node1 and SHOW_MEMORY
|
2024-02-26 12:25:06 -08:00 |
|
andrew
|
6a08bdd40e
|
Add bitSet asserts for Node256 paths
|
2024-02-26 10:58:16 -08:00 |
|
andrew
|
333ac74d91
|
Use forEachInRange for overfill for Node48
|
2024-02-26 10:55:50 -08:00 |
|
andrew
|
17ac9b38fb
|
Use forEachInRange in setChildrenParents
|
2024-02-26 10:37:28 -08:00 |
|
andrew
|
172dd40648
|
Check for full words on boundaries
|
2024-02-26 10:36:45 -08:00 |
|
andrew
|
c97c7eee8e
|
Speed up sparse queries
|
2024-02-25 23:08:01 -08:00 |
|
andrew
|
9fcfc44dc3
|
Add forEachInRange
|
2024-02-25 21:04:39 -08:00 |
|
andrew
|
0d3475e229
|
Use uint64_t array and fewer branches in BitSet
|
2024-02-24 18:20:00 -08:00 |
|
andrew
|
70e3377eac
|
Update benchmark in README.md
Don't try to make sense of the diff - the benchmark itself changed too
|
2024-02-23 17:31:48 -08:00 |
|
andrew
|
adaa652d0d
|
Remove Node::maxVersion
|
2024-02-23 17:27:19 -08:00 |
|
andrew
|
921005edb3
|
Add childMaxVersion
|
2024-02-23 17:02:46 -08:00 |
|
andrew
|
d43a8a5907
|
Run benchmark in jenkins
|
2024-02-23 16:17:28 -08:00 |
|
andrew
|
588e8eb87f
|
Add monotonic increasing point writes workload
|
2024-02-23 16:13:53 -08:00 |
|
andrew
|
df8d092a84
|
Avoid some unnecessary work
|
2024-02-23 14:49:42 -08:00 |
|
andrew
|
438a2e2abc
|
Make sure setOldestVersion has work to do in bench
|
2024-02-23 14:41:05 -08:00 |
|
andrew
|
305c218888
|
Skip checking for partial key match if partial key len == 0
This saves instructions according to cachegrind
|
2024-02-23 14:27:20 -08:00 |
|
andrew
|
db60782c48
|
Use **self directly in insert
|
2024-02-23 14:09:04 -08:00 |
|
andrew
|
4f32ecc26e
|
Make "begin" a template parameter to insert
cachegrind says this saves instructions
|
2024-02-23 14:00:55 -08:00 |
|
andrew
|
f84aa88202
|
Copy old node to new more efficiently
Presumably it's generating good code for the memcpy with a static size,
and hopefully also eliminating redundant stores
|
2024-02-23 13:31:05 -08:00 |
|