500 Commits
Author SHA1 Message Date
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