|
b808b97940
|
Remove a bunch of impl plumbing
By making it a precondition that nodes aren't the root for certain
functions
|
2024-08-15 17:15:37 -07:00 |
|
|
e480f66846
|
Have caller ensure root max version for insert
|
2024-08-15 17:05:10 -07:00 |
|
|
d5bc9221a0
|
Simplify addWriteRange slightly
|
2024-08-15 16:59:28 -07:00 |
|
|
9d23b81d6f
|
Bring in some of the changes from erase-between branch
|
2024-08-15 16:55:26 -07:00 |
|
|
0740dcad43
|
Strengthen checkMemoryBoundInvariants check for Node0
I think this is probably checked elsewhere, but let's check here too for
consistency
|
2024-08-14 14:28:28 -07:00 |
|
|
176df61321
|
Simplify handling of beginNode invalidation if begin is prefix of end
|
2024-08-14 14:26:13 -07:00 |
|
|
45995e3307
|
Update comments
|
2024-08-12 17:05:21 -07:00 |
|
|
359b0b29ff
|
Avoid function call if no partial key
|
2024-08-12 16:33:03 -07:00 |
|
|
54e47ebd40
|
Simplify insert loop
|
2024-08-12 16:25:12 -07:00 |
|
|
1c9dda68a6
|
Call consumePartialKey from getOrCreateChild
|
2024-08-12 16:24:05 -07:00 |
|
|
142455dd28
|
Move consumePartialKey, and allow empty partial key
|
2024-08-12 16:18:58 -07:00 |
|
|
567d385fbd
|
WIP create child in getOrCreateChild
|
2024-08-12 16:11:16 -07:00 |
|
|
8a44055533
|
Consume first byte in insert iteration
|
2024-08-12 15:39:09 -07:00 |
|
|
3d592bd6a9
|
Move longestCommonPrefix to its own file
Tests / Clang total: 2096, failed: 520, passed: 1576
Tests / Debug total: 2094, failed: 520, passed: 1574
Tests / SIMD fallback total: 2096, passed: 2096
Tests / Release [gcc] total: 2096, passed: 2096
Tests / Release [gcc,aarch64] total: 1564, passed: 1564
Tests / Coverage total: 1574, passed: 1574
weaselab/conflict-set/pipeline/head There was a failure building this commit
|
2024-08-12 15:10:05 -07:00 |
|
|
f5f5fb620b
|
Run gc at 200%
150% pessimized the "real data" benchmark
|
2024-08-12 10:48:24 -07:00 |
|
|
182c065c8e
|
Insert common prefix in addWriteRange
Tests / Clang total: 1420, passed: 1420
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1418, passed: 1418
Tests / SIMD fallback total: 1420, passed: 1420
Tests / Release [gcc] total: 1420, passed: 1420
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1057, passed: 1057
Tests / Coverage total: 1067, passed: 1067
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 99.12% (1799/1815)
* Branch Coverage: 67.50% (1485/2200)
* Complexity Density: 0.00
* Lines of Code: 1815
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head There was a failure building this commit
This allows us to use our optimized implementation for setting max
version along the search path instead of a one-off loop
|
2024-08-09 14:57:04 -07:00 |
|
|
2dba0d5be3
|
Have insert return a pointer to the in-tree pointer
|
2024-08-09 13:58:31 -07:00 |
|
|
a1dfdf355c
|
Use metrics to count change in entry count
This lets us run gc slower safely
|
2024-08-09 13:44:49 -07:00 |
|
|
ac98d4a443
|
Remove always_inline attribute - it wasn't affecting codegen
Tests / Clang total: 1420, passed: 1420
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1418, passed: 1418
Tests / SIMD fallback total: 1420, passed: 1420
Tests / Release [gcc] total: 1420, passed: 1420
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1057, passed: 1057
weaselab/conflict-set/pipeline/head There was a failure building this commit
|
2024-08-08 10:44:54 -07:00 |
|
|
7d86beb14c
|
Revert 29c05187fb
We're already doing this in checkRangeStartsWith
|
2024-08-07 16:51:23 -07:00 |
|
|
2fa954ed36
|
Fix compiler warning
|
2024-08-07 16:25:49 -07:00 |
|
|
ded6e7fc2c
|
Require entry present for fixupMaxVersion
|
2024-08-06 17:59:38 -07:00 |
|
|
781ba15cae
|
Enforce that root does not have a partial key
|
2024-08-06 17:55:33 -07:00 |
|
|
29c05187fb
|
Early return if common prefix isn't a prefix of an entry
Tests / Clang total: 1479, passed: 1479
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1477, passed: 1477
Tests / SIMD fallback total: 1479, passed: 1479
Tests / Release [gcc] total: 1479, passed: 1479
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1102, passed: 1102
Tests / Coverage total: 1111, passed: 1111
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 98.00% (1812/1849)
* Branch Coverage: 64.20% (1521/2369)
* Complexity Density: 0.00
* Lines of Code: 1849
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head There was a failure building this commit
For range reads
|
2024-08-06 15:32:44 -07:00 |
|
|
d89028dd2f
|
Inline SearchStepWise into checkRangeRead
This improves clang codegen
|
2024-08-06 14:45:52 -07:00 |
|
|
09cf807747
|
Avoid some branches on node type while inserting
weaselab/conflict-set/pipeline/head There was a failure building this commit
|
2024-08-06 13:51:49 -07:00 |
|
|
051eb5919d
|
Extract consumePartialKey to its own function
|
2024-08-06 13:20:44 -07:00 |
|
|
ed5589e4ed
|
Specialize partial key split for newly created Node3
|
2024-08-06 13:04:19 -07:00 |
|
|
a7b3d8fe4c
|
Clarify insert documentation
|
2024-08-06 11:29:33 -07:00 |
|
|
c3a047fdf8
|
Handle newly-created node partial key immediately
|
2024-08-06 09:22:21 -07:00 |
|
|
b4b469a175
|
Use maxOfMax in fixupMaxVersion
Tests / Clang total: 1479, passed: 1479
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1477, passed: 1477
Tests / SIMD fallback total: 1479, passed: 1479
Tests / Release [gcc] total: 1479, passed: 1479
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1102, passed: 1102
Tests / Coverage total: 1111, passed: 1111
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 98.83% (1776/1797)
* Branch Coverage: 64.91% (1506/2320)
* Complexity Density: 0.00
* Lines of Code: 1797
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head There was a failure building this commit
|
2024-08-05 21:41:49 -07:00 |
|
|
0201e27498
|
Remove redundant setMaxVersion calls
|
2024-08-05 19:29:38 -07:00 |
|
|
2010920a2c
|
Correct comment
|
2024-08-05 19:28:24 -07:00 |
|
|
19af8da65c
|
Fix endNode's max version after the fact
This sets us up to unconditionally update the max version along the
search path for inserts, and avoid dispatching on type twice per
iteration.
|
2024-08-05 17:50:26 -07:00 |
|
|
80785e3c3b
|
Avoid switch on parent type for max version during search
|
2024-08-05 16:40:58 -07:00 |
|
|
f5d021d6b6
|
Add multi-version rezero16
Tests / Clang total: 1479, passed: 1479
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1477, passed: 1477
Tests / SIMD fallback total: 1479, passed: 1479
Tests / Release [gcc] total: 1479, passed: 1479
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1102, passed: 1102
Tests / Coverage total: 1111, passed: 1111
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 99.60% (1739/1746)
* Branch Coverage: 64.95% (1492/2297)
* Complexity Density: 0.00
* Lines of Code: 1746
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
|
2024-08-03 14:22:50 -07:00 |
|
|
1c41605b53
|
Use std::countr_zero instead of __builtin_ctz
Tests / Clang total: 1479, passed: 1479
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1477, passed: 1477
Tests / SIMD fallback total: 1479, passed: 1479
Tests / Release [gcc] total: 1479, passed: 1479
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1102, passed: 1102
Tests / Coverage total: 1111, passed: 1111
weaselab/conflict-set/pipeline/head Something is wrong with the build of this commit
Doesn't seem to affect codegen in these cases.
|
2024-08-03 10:01:12 -07:00 |
|
|
8f03a105bb
|
Use target avx512f,avx512bw
Tests / Clang total: 1479, passed: 1479
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1477, passed: 1477
Tests / SIMD fallback total: 1479, passed: 1479
Tests / Release [gcc] total: 1479, passed: 1479
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1102, passed: 1102
Tests / Coverage total: 1111, passed: 1111
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 99.60% (1737/1744)
* Branch Coverage: 64.99% (1498/2305)
* Complexity Density: 0.00
* Lines of Code: 1744
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
Appears to fix gcc build
|
2024-08-02 21:47:23 -07:00 |
|
|
0e574856be
|
Make checkMaxBetweenExclusive a multi-version function
This introduces more branches but reduces code size
|
2024-08-02 21:09:55 -07:00 |
|
|
493a6572ad
|
Only exclude avx512-targeted functions from coverage
Tests / Clang total: 1479, passed: 1479
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1477, passed: 1477
Tests / SIMD fallback total: 1479, passed: 1479
weaselab/conflict-set/pipeline/head There was a failure building this commit
|
2024-08-02 20:53:30 -07:00 |
|
|
abce4591d0
|
Fix preprocessor guard for avx512 longestCommonPrefix
|
2024-08-02 20:46:32 -07:00 |
|
|
f1ad68109a
|
Skip lcp call in SearchStepWise if no partial key
|
2024-08-02 18:16:55 -07:00 |
|
|
c4443bc355
|
Remove len < 8 check in longestCommonPrefix
Micro benchmarks look a tiny bit better /shrug
|
2024-08-02 18:16:55 -07:00 |
|
|
857b402fe2
|
Add an avx512bw longestCommonPrefix
|
2024-08-02 18:16:55 -07:00 |
|
|
9b3e1b219b
|
Remove small memmoves in erase
|
2024-08-02 18:16:55 -07:00 |
|
|
ab52c63935
|
Move local accum's into ReadContext
|
2024-08-02 18:16:55 -07:00 |
|
|
bad9d7ced8
|
Avoid some tls lookups for InternalVersionT::zero
|
2024-08-02 18:16:55 -07:00 |
|
|
c8d9dc034d
|
Remove memmove call for inserting into Node16
|
2024-08-02 18:16:55 -07:00 |
|
|
72168ef6a3
|
Avoid memmove when inserting into Node3
|
2024-08-02 18:16:55 -07:00 |
|
|
7351b6e417
|
More gcovr exclusions for function multi-versioning
Tests / Clang total: 1479, passed: 1479
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Debug total: 1477, passed: 1477
Tests / SIMD fallback total: 1479, passed: 1479
Tests / Release [gcc] total: 1479, passed: 1479
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 1102, passed: 1102
Tests / Coverage total: 1111, passed: 1111
Code Coverage #### Project Overview
No changes detected, that affect the code coverage.
* Line Coverage: 99.60% (1741/1748)
* Branch Coverage: 64.42% (1512/2347)
* Complexity Density: 0.00
* Lines of Code: 1748
#### Quality Gates Summary
Output truncated.
weaselab/conflict-set/pipeline/head This commit looks good
|
2024-08-01 15:53:38 -07:00 |
|