• Joined on 2023-03-22
andrew closed issue weaselab/conflict-set#10 2024-03-13 23:49:05 +00:00
Rework SHOW_MEMORY macro
andrew pushed to main at weaselab/conflict-set 2024-03-13 21:59:05 +00:00
351ff3df3b Cave in and just add the unreachable's gcc wants
e818648cdc makeCapacityAtLeast -> freeAndMakeCapacityAtLeast
12540b8713 maybeDecreaseCapacity policy was too strong
Compare 3 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-13 20:40:14 +00:00
c2606cd26a Add clang build in jenkins and record issues for clang
andrew pushed to main at weaselab/conflict-set 2024-03-13 20:28:42 +00:00
4b72fc0b7b Try -fstrict-enums
andrew pushed to main at weaselab/conflict-set 2024-03-13 20:22:15 +00:00
a9caa0249e Use plain enum for type
08b2b7f41a Move comment to above field it's commenting on
Compare 2 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-13 19:29:31 +00:00
26bd8b94cc Lower kBytesPerKey to 144 by changing Node4 to Node3
55eaef5b1d Remove 16 bytes from Node0
797e6b4a3e Use switch for type dispatch throughout
ee86b5289b Rearrange induction inequalities
Compare 4 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-13 14:27:17 +00:00
b779c0f6f7 Fix induction (again). Now it's 176 bytes per key
andrew pushed to main at weaselab/conflict-set 2024-03-13 00:45:32 +00:00
ef802b8acd Only skip free list from maybeDecreaseCapacity
andrew pushed to main at weaselab/conflict-set 2024-03-12 23:34:51 +00:00
5371c2bede Change kMinChildrenNode4 to 2, fixing the induction
75c304bbe7 WIP my understanding of the memory bound induction was wrong
aefb83dbc6 Prepare for erase to invalidate children of parent
b0ac7e41b9 Update corpus
Compare 4 commits »
andrew opened issue weaselab/conflict-set#10 2024-03-12 20:42:13 +00:00
Rework SHOW_MEMORY macro
andrew closed issue weaselab/conflict-set#9 2024-03-12 19:49:43 +00:00
Bound memory usage
andrew pushed to main at weaselab/conflict-set 2024-03-12 19:49:43 +00:00
4b6b2747bf Relax capacity property so that it _eventually_ needs to hold
1496aa106b Avoid an unnecessary node0 to node4 transition
Compare 2 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-12 18:26:54 +00:00
71e117965e Fix issue with getSearchPath on nullptr on setOldestVersion
471b276947 Downsize nodes in erase
b721bc80a9 Document that erase may invalidate search path
5e4eab55fb Avoid re-inserting begin if begin is not a prefix of end
1dcb380c73 Use getInTree in insert
Compare 6 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-12 01:21:32 +00:00
b8f6a8edf2 sizeof(Node0) also needs to be < kBytesPerKey
01f1d5850f Create a Node0 when splitting existing partial key
cd567383c3 Only keep the assume's that actually improve codegen
53a442abf9 Use the assume attribute for gcc
Compare 4 commits »
andrew created branch memory-bound in weaselab/conflict-set 2024-03-12 00:33:16 +00:00
andrew pushed to memory-bound at weaselab/conflict-set 2024-03-12 00:33:16 +00:00
fac7968405 Bound memory, and disable free list for now
e3f6fbe955 Create a Node0 when splitting existing partial key
219af68745 sizeof(Node0) also needs to be < kBytesPerKey
52db15d8bd Check min number of children invariant
b3b91ef860 Merge Node4 with one child into child if favorable
Compare 6 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-10 03:54:49 +00:00
6e212847ac Add assume macro
andrew pushed to main at weaselab/conflict-set 2024-03-09 06:48:15 +00:00
44a023c2f4 Bound individual size of allocation to put in free list
e32bea7b29 Enforce free list memory bound by tracking bytes directly
504a93bb10 Track partialKeyCapacity
Compare 3 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-09 01:22:12 +00:00
b79d8f71d3 Replace destructor call with static assert
34430dbbe7 Remove longestCommonPrefixPartialKey
Compare 2 commits »
andrew pushed to main at weaselab/conflict-set 2024-03-09 01:04:53 +00:00
06fcb2531e Add an analysis on memory usage in static asserts
bd24a362e3 Remove dead code and fix whitespace issue
Compare 2 commits »