Commit Graph

183 Commits

Author SHA1 Message Date
2793edf07d Make ascend/descend + iter updates more consistent 2024-02-13 16:37:55 -08:00
57585ba800 Add some const's 2024-02-13 15:48:08 -08:00
eef3c9e8d0 Track lcp as loop invariant 2024-02-13 15:37:14 -08:00
86978c057e Inline nextPhysical and nextSibling in checkRangeRead 2024-02-13 14:43:12 -08:00
961fb18066 Resume firstGeq search from within tree 2024-02-13 12:08:13 -08:00
3aa081a9ce Add short-circuiting back to checkRangeRead 2024-02-13 11:53:43 -08:00
1059f2a237 Use std::countr_zero 2024-02-12 17:33:02 -08:00
d5bde56921 Range reads are slow with dense keys
All checks were successful
Tests / Release [gcc] total: 363, passed: 363
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/13//gcc">weaselab » conflict-set » main #13</a>
Tests / Coverage total: 361, passed: 361
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-12 15:46:56 -08:00
f8acc5ee86 Use longestCommonPrefix instead of strinc in checkRangeRead 2024-02-12 15:00:46 -08:00
d60da4c087 Add benchmark
All checks were successful
Tests / Release [gcc] total: 363, passed: 363
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/12//gcc">weaselab » conflict-set » main #12</a>
Tests / Coverage total: 361, passed: 361
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-11 09:26:03 -08:00
0cae645c17 Fix always true condition
All checks were successful
Tests / Release [gcc] total: 363, passed: 363
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|1|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/11//gcc">weaselab » conflict-set » main #11</a>
Tests / Coverage total: 361, passed: 361
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-10 15:34:02 -08:00
35a3289ab9 Simplify and fix bugs
Some checks failed
Tests / Release [gcc] total: 363, failed: 2, passed: 361
Tests / Coverage total: 361, passed: 361
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-02-09 22:45:38 -08:00
418bab61f5 Fix some bugs. Still buggy. Keep fuzzing 2024-02-09 18:47:08 -08:00
ddca6e8511 Rely on bitSet for child existence in Node48 2024-02-09 18:14:07 -08:00
f961947e33 Share one arena across batch 2024-02-09 17:57:29 -08:00
855d72d9a7 Oversize search path buffer
Some checks failed
Tests / Release [gcc] total: 361, failed: 2, passed: 359
Tests / Coverage total: 359, passed: 359
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-02-09 17:47:10 -08:00
daa04129ac Track search path. Looks clean! 2024-02-09 17:45:37 -08:00
593657c9aa Remove duplicate code 2024-02-09 15:32:06 -08:00
d1ee3d8b69 Bring back nextSibling 2024-02-09 15:26:54 -08:00
80a79aab1f Still need a better way identify left/right sidedness 2024-02-09 15:17:37 -08:00
f3e7279c2c Do less work 2024-02-09 13:10:40 -08:00
403608c794 WIP just need to identify nodes on begin -> end path 2024-02-09 12:51:09 -08:00
8e918acc05 Remove dead code 2024-02-09 11:51:51 -08:00
d320fb6eee Remove dead code 2024-02-08 14:59:27 -08:00
2bd1bf93a9 Check indices between left and right after they diverge 2024-02-08 14:50:53 -08:00
b018ccc3ae Add TODO
Some checks failed
Tests / Release [gcc] total: 361, failed: 2, passed: 359
Tests / Coverage total: 359, passed: 359
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-02-08 10:16:31 -08:00
d388f6488d Remove dead code 2024-02-08 10:13:53 -08:00
968e03403d Revert to linear range checking, but keep short-circuiting 2024-02-08 10:05:22 -08:00
2cbb6e0170 Short-circuiting, efficient checkRangeRead 2024-02-07 16:31:54 -08:00
9363d7866c Specify maxVersion meaning 2024-02-07 15:33:15 -08:00
855b7fa069 Prepare for new invariant 2024-02-07 13:44:46 -08:00
98124d5493 Sublinear read range checking
All checks were successful
Tests / Release [gcc] total: 337, passed: 337
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/6//gcc">weaselab » conflict-set » main #6</a>
Tests / Coverage total: 335, passed: 335
weaselab/conflict-set/pipeline/head This commit looks good
Still slow though
2024-02-06 16:52:20 -08:00
6be23803a3 Add standalone bench target 2024-02-06 15:03:54 -08:00
9a80c96533 Short circuit point reads based on maxVersion
All checks were successful
Tests / Release [gcc] total: 337, passed: 337
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|0|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/5//gcc">weaselab » conflict-set » main #5</a>
Tests / Coverage total: 335, passed: 335
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-06 14:38:39 -08:00
68239cd80b Maintain nextSib in firstGeq
This is slower, but I think it's closer to what we want for our eventual bespoke
"fused-check-and-search" implementation.
2024-02-06 12:37:02 -08:00
03e9dc01fd Implement firstGeq directly 2024-02-06 12:11:50 -08:00
d2c89f605f Use rangeVersion indicating < instead of >
This should allow us to use firstGeq (which should be possible to make
more efficient), and generally make things nicer
2024-02-06 11:11:45 -08:00
0aa2f67f88 Check that all children have reachable present entries 2024-02-05 16:59:21 -08:00
d78afe0823 Interleave checks for point reads
This doesn't actually seem faster, but it should prepare us to implement
range reads non-naively. It probably should be faster. To be
investigated.
2024-02-05 16:44:57 -08:00
57ec97f2ee Naive range reads implementation and test 2024-02-05 13:59:10 -08:00
a632d0cbbb gcc fixes 2024-02-03 13:16:13 -08:00
81f178face Remove unused code 2024-02-01 18:31:36 -08:00
20bd5c2fa6 More corpus tinkering. Missing coverage for Node256 2024-02-01 18:22:45 -08:00
22daf0b9cb Improve range write performance 2024-02-01 16:52:22 -08:00
0eff5628bd Fix lastLeq bug 2024-02-01 11:24:57 -08:00
96aca4a1da Range write WIP 2024-01-31 17:06:59 -08:00
812eb27708 Return inserted physical node from insert 2024-01-31 16:22:34 -08:00
31a555c44c Use bitset index for Node48 too 2024-01-31 16:04:03 -08:00
bafe1edfa4 Remove call to memcmp for partial keys 2024-01-31 14:32:25 -08:00
5a69ec82df Partial keys seem to be working 2024-01-31 11:10:41 -08:00