172 Commits

Author SHA1 Message Date
6abd8139f0 Fix clangd warnings 2025-05-20 22:25:49 -04:00
57cceaf3b7 Fix an issue with versioned-only benchmark
Previously it was reading some of the keys from unversioned storage.

Also add some more benchmarks
2024-06-19 15:08:16 -07:00
39273424c1 Only search backward for materializing clear range 2024-06-19 12:16:09 -07:00
c4c269ab94 Skip unversioned for adjacent mutations, reverse reads 2024-06-17 12:22:43 -07:00
fcb881f408 Skip unversioned until non-adjacent mutation in facade
Only implemented for forward reads so far
2024-06-17 11:57:36 -07:00
b2ce851d56 Update corpus 2024-06-15 22:16:52 -07:00
e11ee26332 Allow stack to grow in gc
The previous bound was valid in each logical version of the map, but not
for the physical map's structure.
2024-06-15 20:28:43 -07:00
0af75f5e9c Make gRandom inline
I have no idea why I made it static
2024-06-15 20:18:08 -07:00
43ba21329b Mark remainder of rightmost page no_access after gc 2024-06-15 18:11:18 -07:00
3e9c69e857 Update corpus 2024-06-15 09:47:20 -07:00
edb76feadf Remove "next" argument from materializeMutations 2024-06-14 23:40:09 -07:00
2eea70f063 Fix a bug where a range end's version wasn't updated 2024-06-14 23:26:00 -07:00
be3032e2f3 Fix a use of an invalid iterator 2024-06-14 23:25:43 -07:00
b34d559c02 Strengthen valgrind checks 2024-06-14 22:31:05 -07:00
e4a77c88d8 Fix two canonicalization bugs 2024-06-14 21:51:59 -07:00
a63fd3970b Reworking the representation for the beginning of a clear range
Most tests pass. Some tests fail.
2024-06-14 19:13:51 -07:00
685b49c96d WIP adhoc test looks ok 2024-06-14 17:58:33 -07:00
8b22fbe261 Tinker with main 2024-06-14 17:19:02 -07:00
729fcdb616 Avoid some insertions in point clears 2024-06-14 16:00:08 -07:00
551f34baf4 Add whitebox tests
Previously we had NDEBUG set for all testing (except libfuzzer)
2024-06-14 14:44:01 -07:00
63bea7ff1e Add LICENSE 2024-06-14 14:31:08 -07:00
b5997d5ccc Add disclaimer to README 2024-06-14 14:30:14 -07:00
efd2405443 Check "latestRoot" property 2024-06-05 12:41:07 -07:00
1492a1c3d4 Fix linux symbol exports 2024-06-05 12:27:42 -07:00
0d059ec1fd Move all * to weaselab column in readme 2024-06-05 10:47:28 -07:00
f1d10a1fed Amortize cost of searching for continueKey 2024-06-05 10:41:21 -07:00
742f1da722 Improve clarity in operator{--,++} 2024-06-04 16:31:19 -07:00
13f6279970 Branch-free child function 2024-06-04 13:59:26 -07:00
118071e3e9 Share kStackAllocThreshold 2024-06-03 22:35:49 -07:00
b92f0ec227 Add efficient firstGeq overload for latestVersion 2024-06-03 22:32:47 -07:00
ba11412584 Fix typo 2024-06-03 14:51:17 -07:00
e772f066d5 Add rough memory usage 2024-06-03 14:50:49 -07:00
7667d02987 Add benchmarks to readme 2024-06-03 14:46:39 -07:00
47c1ff5636 Remove unnecessary hyphen 2024-06-03 14:41:35 -07:00
03ec6326a4 Add README.md 2024-06-03 14:40:35 -07:00
509dab82e3 Don't declare move constructors for Iterator unless c++11 2024-06-03 13:44:38 -07:00
9e90d5aadf Use more conventional field order in Mutation 2024-06-03 13:26:27 -07:00
a3591ebdb8 Reuse iterators in bench 2024-06-03 13:20:55 -07:00
96f9492a97 Use distinct but larger versions in firstGeq bench 2024-06-03 13:20:21 -07:00
fd618d0f07 Bug fix
The bottommost node of a finger isn't necessarily the root for an
iterator's version. It could be "end"
2024-06-03 12:56:17 -07:00
f5fdc3eaf1 Store version instead of pointer to version 2024-06-03 12:28:26 -07:00
ae2b50d765 Interleave key search 2024-06-03 12:27:37 -07:00
f8b8c92b40 ILP firstGeq WIP 2024-06-03 12:23:54 -07:00
62cefe1990 Add bulkFirstGeq benchmark 2024-06-03 10:46:35 -07:00
169afd629c Clarify addMutations documentation 2024-05-31 14:24:53 -07:00
5da76e4585 Fix linux build 2024-05-30 18:02:05 -07:00
6c3eae219d Remove duplicated operator<=> 2024-05-30 11:14:44 -07:00
7a7eef2b7d Tweak header documentation 2024-05-30 10:41:57 -07:00
5b6e610d54 Update corpus 2024-05-30 10:29:24 -07:00
16c2bb1d11 Enable asserts in fuzz target 2024-05-29 22:00:18 -07:00