Commit Graph

285 Commits

Author SHA1 Message Date
andrew 505c060a28 Use longestCommonPrefixPartialKey in insert 2024-02-22 14:46:52 -08:00
andrew 608b4fb6c7 Remove some branches 2024-02-22 14:29:24 -08:00
andrew 0fbc8b0190 Use longestCommonPrefix on partial keys 2024-02-22 13:57:00 -08:00
andrew 125ce88268 Suppress gcc warning
Accept that our usage is non-portable: https://stackoverflow.com/questions/3129916/what-is-wrong-with-this-use-of-offsetof
2024-02-22 12:37:14 -08:00
andrew 3a5db2d2ac Share some Node4/16 and Node48/256 implementations
This cuts down on the number of instructions (confirmed with
cachegrind). Also avoid initializing some memory unnecessarily.
2024-02-22 12:31:10 -08:00
andrew bd5d0259d9 Update corpus 2024-02-21 22:13:57 -08:00
andrew 09782ba833 Fix O(k^2) behavior when begin is a prefix of end
Tests / Release [gcc] total: 583, passed: 583
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/32//gcc">weaselab » conflict-set » main #32</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-21 20:11:37 -08:00
andrew 0cb16c384f Fix include path 2024-02-21 16:48:33 -08:00
andrew 3750aa7b5b Vendor valgrind headers
Tests / Release [gcc] total: 583, passed: 583
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/31//gcc">weaselab » conflict-set » main #31</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
This is encouraged according to https://valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.clientreq
2024-02-21 16:15:40 -08:00
andrew 28e61340f4 Add valgrind annotations
Tests / Release [gcc] total: 583, passed: 583
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/30//gcc">weaselab » conflict-set » main #30</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
This appears to affect the binary (how else could it possibly work??),
but the microbenchmarks don't show a difference
2024-02-21 15:58:01 -08:00
andrew 07839b4687 Fix class-memaccess warning
Tests / Release [gcc] total: 583, passed: 583
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |0|0|0|4|:clap: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/29//gcc">weaselab » conflict-set » main #29</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
The lifetime of T ended, so it's appropriate to treat it as a void*
2024-02-21 15:27:46 -08:00
andrew ed29ea0e61 Fix fdb-patch.txt
Tests / Release [gcc] total: 583, passed: 583
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |4|0|4|0|:zzz: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/28//gcc">weaselab » conflict-set » main #28</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
Turns out the include path was wrong it only worked before accidentally
2024-02-21 15:23:10 -08:00
andrew af269ff208 Use a free list
Tests / Release [gcc] total: 583, passed: 583
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |4|4|0|0|:-1: Reference build: <a href="https://jenkins.weaselab.dev/job/weaselab/job/conflict-set/job/main/27//gcc">weaselab » conflict-set » main #27</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
malloc and free were showing up in profiles of fdbserver
2024-02-21 13:51:02 -08:00
andrew 7e6652003b Remove vestigial arena 2024-02-21 12:06:57 -08:00
andrew 48d96ac79a Only pass key to addPointWrite
Tests / Release [gcc] total: 583, passed: 583
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/26//gcc">weaselab » conflict-set » main #26</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-20 23:16:03 -08:00
andrew a341b36f63 Detect singleton key ranges
Tests / Release [gcc] total: 583, passed: 583
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/25//gcc">weaselab » conflict-set » main #25</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-20 23:09:03 -08:00
andrew e706aad989 Remove byteswap include
Tests / Release [gcc] total: 583, passed: 583
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/24//gcc">weaselab » conflict-set » main #24</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-20 16:01:20 -08:00
andrew 4cbbeab55d Remove dead code
Tests / Release [gcc] total: 583, passed: 583
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/23//gcc">weaselab » conflict-set » main #23</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-20 15:30:07 -08:00
andrew 06f92722f0 Add license
Tests / Release [gcc] total: 583, passed: 583
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/22//gcc">weaselab » conflict-set » main #22</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-20 13:22:22 -08:00
andrew b82885e4c4 Add fdb patch
Tests / Release [gcc] total: 583, passed: 583
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/21//gcc">weaselab » conflict-set » main #21</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-20 13:15:37 -08:00
andrew 1efc787805 Add README.md 2024-02-20 13:13:48 -08:00
andrew ae5277bf78 Interleave checking left and right side
Tests / Release [gcc] total: 583, passed: 583
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/20//gcc">weaselab » conflict-set » main #20</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-20 11:28:58 -08:00
andrew c4e18d71a2 CheckRangeRightSide struct 2024-02-20 11:12:10 -08:00
andrew 33390af817 CheckRangeLeftSide struct 2024-02-20 11:04:12 -08:00
andrew 79987a2f55 Fix use of uninitialized memory
Tests / Release [gcc] total: 583, passed: 583
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/19//gcc">weaselab » conflict-set » main #19</a>
Tests / Coverage total: 581, passed: 581
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-19 16:48:40 -08:00
andrew 01a29b69b1 Explain assert 2024-02-19 16:25:15 -08:00
andrew cb2f66b4b7 Remove a check from setOldestVersion 2024-02-19 16:20:04 -08:00
andrew c9baa80212 Implement setOldestVersion 2024-02-19 15:58:59 -08:00
andrew 939b791e01 Paper tinkering 2024-02-19 13:29:16 -08:00
andrew deb85f5645 Add callgrind client requests 2024-02-18 20:11:33 -08:00
andrew 69ce3e2a20 Update project description 2024-02-18 19:47:54 -08:00
andrew 79390b806c Don't repeat common prefix search in addWriteRange
Tests / Release [gcc] total: 423, passed: 423
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/18//gcc">weaselab » conflict-set » main #18</a>
Tests / Coverage total: 421, passed: 421
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-18 10:43:41 -08:00
andrew cb31f4c25b Fix bugs
Tests / Release [gcc] total: 423, passed: 423
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/17//gcc">weaselab » conflict-set » main #17</a>
Tests / Coverage total: 421, passed: 421
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-17 22:09:00 -08:00
andrew 9a72f133a9 Add prefix queries to bench 2024-02-16 21:42:04 -08:00
andrew 0799aea3e8 Move newly test-only code 2024-02-16 18:35:28 -08:00
andrew 69a1b9099d Share common prefix search in addWriteRange 2024-02-16 17:50:21 -08:00
andrew c20d0c5581 Move addWriteRange into its own function 2024-02-16 17:15:35 -08:00
andrew e956c526b2 Draft paper introduction 2024-02-16 16:27:55 -08:00
andrew eb96833eb0 Use sparse scan under a threshold
Tests / Release [gcc] total: 375, passed: 375
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/16//gcc">weaselab » conflict-set » main #16</a>
Tests / Coverage total: 373, passed: 373
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-15 17:20:25 -08:00
andrew 4506b460eb Speed up maxBetweenExclusive 2024-02-15 17:03:19 -08:00
andrew e30922ab9c Update corpus 2024-02-15 16:14:03 -08:00
andrew 642003fe4f Remove dead code
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/15//gcc">weaselab » conflict-set » main #15</a>
Tests / Coverage total: 361, passed: 361
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-15 15:03:33 -08:00
andrew 4325d89cf2 Implement checkRangeRightSide 2024-02-15 15:00:16 -08:00
andrew ab9c9a57fa Implement checkRangeLeftSide 2024-02-15 14:33:12 -08:00
andrew d565f75e0e Share search of common prefix
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/14//gcc">weaselab » conflict-set » main #14</a>
Tests / Coverage total: 361, passed: 361
weaselab/conflict-set/pipeline/head This commit looks good
2024-02-15 11:54:34 -08:00
andrew 5a2b734d16 Match planned order better 2024-02-15 11:47:01 -08:00
andrew c2193fdba0 Implement new checkRangeRead idea 2024-02-15 11:37:08 -08:00
andrew 98dccf5c23 WIP checkLeftOfPyramid seems to be correct 2024-02-14 17:01:00 -08:00
andrew 838d08c70b WIP checkRightOfPyramid seems to be correct 2024-02-14 16:11:57 -08:00
andrew c9b35241e1 Factor out "maxRightOf" 2024-02-14 12:05:33 -08:00