Commit Graph

148 Commits

Author SHA1 Message Date
andrew 0d059ec1fd Move all * to weaselab column in readme 2024-06-05 10:47:28 -07:00
andrew f1d10a1fed Amortize cost of searching for continueKey 2024-06-05 10:41:21 -07:00
andrew 742f1da722 Improve clarity in operator{--,++} 2024-06-04 16:31:19 -07:00
andrew 13f6279970 Branch-free child function 2024-06-04 13:59:26 -07:00
andrew 118071e3e9 Share kStackAllocThreshold 2024-06-03 22:35:49 -07:00
andrew b92f0ec227 Add efficient firstGeq overload for latestVersion 2024-06-03 22:32:47 -07:00
andrew ba11412584 Fix typo 2024-06-03 14:51:17 -07:00
andrew e772f066d5 Add rough memory usage 2024-06-03 14:50:49 -07:00
andrew 7667d02987 Add benchmarks to readme 2024-06-03 14:46:39 -07:00
andrew 47c1ff5636 Remove unnecessary hyphen 2024-06-03 14:41:35 -07:00
andrew 03ec6326a4 Add README.md 2024-06-03 14:40:35 -07:00
andrew 509dab82e3 Don't declare move constructors for Iterator unless c++11 2024-06-03 13:44:38 -07:00
andrew 9e90d5aadf Use more conventional field order in Mutation 2024-06-03 13:26:27 -07:00
andrew a3591ebdb8 Reuse iterators in bench 2024-06-03 13:20:55 -07:00
andrew 96f9492a97 Use distinct but larger versions in firstGeq bench 2024-06-03 13:20:21 -07:00
andrew 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
andrew f5fdc3eaf1 Store version instead of pointer to version 2024-06-03 12:28:26 -07:00
andrew ae2b50d765 Interleave key search 2024-06-03 12:27:37 -07:00
andrew f8b8c92b40 ILP firstGeq WIP 2024-06-03 12:23:54 -07:00
andrew 62cefe1990 Add bulkFirstGeq benchmark 2024-06-03 10:46:35 -07:00
andrew 169afd629c Clarify addMutations documentation 2024-05-31 14:24:53 -07:00
andrew 5da76e4585 Fix linux build 2024-05-30 18:02:05 -07:00
andrew 6c3eae219d Remove duplicated operator<=> 2024-05-30 11:14:44 -07:00
andrew 7a7eef2b7d Tweak header documentation 2024-05-30 10:41:57 -07:00
andrew 5b6e610d54 Update corpus 2024-05-30 10:29:24 -07:00
andrew 16c2bb1d11 Enable asserts in fuzz target 2024-05-29 22:00:18 -07:00
andrew 10b032076e Update corpus 2024-05-29 17:59:00 -07:00
andrew 887f400a47 Expand clears 2024-05-29 17:45:23 -07:00
andrew dab6929e88 Add Entry::pointClear 2024-05-29 16:13:45 -07:00
andrew f1f4d66678 Prepare to fully canonicalize views 2024-05-28 21:38:08 -07:00
andrew 93ff83e422 Start facade past window in bench 2024-05-28 17:17:30 -07:00
andrew 25dea71f00 Add TODO 2024-05-28 17:00:49 -07:00
andrew 0de303b6c6 Improve SHOW_MEMORY accounting 2024-05-28 16:54:46 -07:00
andrew dc587e627b Fuzzer thinks FdbVersionedMap seems ok 2024-05-28 16:35:58 -07:00
andrew 3aa192255e Identify some FdbVersionedMap bugs 2024-05-28 14:01:51 -07:00
andrew 1b5ed72ab9 Add FdbVersionedMap. Not working yet 2024-05-28 13:47:13 -07:00
andrew 42298a911a Prepare to add fdb implementation
Fixes a end iter deref and remove rpath from test
2024-05-28 13:23:06 -07:00
andrew 37f972145e Re-use search implementation in insert 2024-05-24 14:49:59 -07:00
andrew d11150926b Preserve finger after insert 2024-05-24 14:17:11 -07:00
andrew d51c58e6d5 Add operator== for Finger 2024-05-24 13:58:19 -07:00
andrew 8f8ea62ed5 Remove dead code 2024-05-23 21:15:12 -07:00
andrew 9917078682 Fix weird whitespace 2024-05-23 18:30:06 -07:00
andrew 021569f033 Templatize direction for move 2024-05-23 18:26:26 -07:00
andrew b5dbf4a049 Avoid copies in Facade 2024-05-23 17:27:55 -07:00
andrew 2764a049a8 Merge two iterators approach for reverse case 2024-05-23 16:52:23 -07:00
andrew 5ff7ecc6fc Facade: two iterator merge approach for forward case 2024-05-23 16:25:29 -07:00
andrew 5b4c7ddf7d Don't scan+apply every setOldestVersion call 2024-05-23 14:54:07 -07:00
andrew e08ec7c54d Don't reapply mutations at unversionedVersion 2024-05-23 14:31:54 -07:00
andrew c65004d60f Skip applied mutations in Facade::setOldestVersion 2024-05-23 11:22:38 -07:00
andrew 262c9cd10c Scan and remove old entries in addMutations 2024-05-22 16:07:34 -07:00