andrew
a9caa0249e
Use plain enum for type
...
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|5|0|5|0|:zzz:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
My understanding is that this it's now UB for any value that's not
listed to inhabit Type, so the gcc warning about control reaching the
end of a function with an exhaustive switch where every case returns
should go away now.
2024-03-13 13:20:48 -07:00
andrew
08b2b7f41a
Move comment to above field it's commenting on
2024-03-13 12:38:16 -07:00
andrew
26bd8b94cc
Lower kBytesPerKey to 144 by changing Node4 to Node3
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|5|0|5|0|:zzz:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-13 12:29:01 -07:00
andrew
55eaef5b1d
Remove 16 bytes from Node0
2024-03-13 10:59:25 -07:00
andrew
797e6b4a3e
Use switch for type dispatch throughout
2024-03-13 10:59:19 -07:00
andrew
ee86b5289b
Rearrange induction inequalities
...
This looks nicer IMO
2024-03-13 07:31:24 -07:00
andrew
b779c0f6f7
Fix induction (again). Now it's 176 bytes per key
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-13 07:26:49 -07:00
andrew
ef802b8acd
Only skip free list from maybeDecreaseCapacity
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-12 17:33:28 -07:00
andrew
5371c2bede
Change kMinChildrenNode4 to 2, fixing the induction
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-12 16:34:20 -07:00
andrew
75c304bbe7
WIP my understanding of the memory bound induction was wrong
2024-03-12 15:56:34 -07:00
andrew
aefb83dbc6
Prepare for erase to invalidate children of parent
2024-03-12 15:54:21 -07:00
andrew
b0ac7e41b9
Update corpus
2024-03-12 14:52:43 -07:00
andrew
4b6b2747bf
Relax capacity property so that it _eventually_ needs to hold
...
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
Doing otherwise turned out to be prohibitively inconvenient
closes #9
2024-03-12 12:48:52 -07:00
andrew
1496aa106b
Avoid an unnecessary node0 to node4 transition
2024-03-12 11:44:58 -07:00
andrew
71e117965e
Fix issue with getSearchPath on nullptr on setOldestVersion
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-12 11:02:51 -07:00
andrew
471b276947
Downsize nodes in erase
2024-03-12 10:31:36 -07:00
andrew
b721bc80a9
Document that erase may invalidate search path
...
It doesn't yet, but it will when we downsize nodes.
2024-03-11 22:47:48 -07:00
andrew
5e4eab55fb
Avoid re-inserting begin if begin is not a prefix of end
2024-03-11 22:43:52 -07:00
andrew
1dcb380c73
Use getInTree in insert
2024-03-11 22:22:49 -07:00
andrew
87d650ff00
Change eraseChild to erase
2024-03-11 21:54:20 -07:00
andrew
b8f6a8edf2
sizeof(Node0) also needs to be < kBytesPerKey
...
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
Also remove vestigial comment.
CC #9
2024-03-11 18:21:00 -07:00
andrew
01f1d5850f
Create a Node0 when splitting existing partial key
2024-03-11 18:20:14 -07:00
andrew
cd567383c3
Only keep the assume's that actually improve codegen
2024-03-10 14:34:55 -07:00
andrew
53a442abf9
Use the assume attribute for gcc
2024-03-10 14:22:47 -07:00
andrew
6e212847ac
Add assume macro
...
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
Validated with cachegrind that this reduces instructions executed
2024-03-09 19:45:54 -08:00
andrew
44a023c2f4
Bound individual size of allocation to put in free list
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-08 22:41:18 -08:00
andrew
e32bea7b29
Enforce free list memory bound by tracking bytes directly
2024-03-08 22:30:38 -08:00
andrew
504a93bb10
Track partialKeyCapacity
...
If we use partialKeyLen, then the difference between partialKeyCapacity
and partialKeyLen will slowly grow. We have 3 padding bytes in Node now.
2024-03-08 21:42:26 -08:00
andrew
b79d8f71d3
Replace destructor call with static assert
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-08 17:17:12 -08:00
andrew
34430dbbe7
Remove longestCommonPrefixPartialKey
2024-03-08 17:14:45 -08:00
andrew
06fcb2531e
Add an analysis on memory usage in static asserts
...
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
CC #9
2024-03-08 17:04:22 -08:00
andrew
bd24a362e3
Remove dead code and fix whitespace issue
2024-03-08 16:44:42 -08:00
andrew
1437280ec7
Attempt valgrind fix
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-08 15:00:40 -08:00
andrew
e5051bac9e
Clean up some vestiges of fixed-size partial keys
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, failed: 1, passed: 824
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-08 14:56:16 -08:00
andrew
733f32b22e
Bring back precommit check for SHOW_MEMORY
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|1|0|1|0|:zzz:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, failed: 1, passed: 824
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-08 14:44:35 -08:00
andrew
3fb8bf7c3b
Bring back custom allocator
2024-03-08 14:43:18 -08:00
andrew
0c8cb8faa5
Add specializations for partialKey()
2024-03-08 14:01:56 -08:00
andrew
93e487c8fb
Only track partialKeyCapacity in tests
2024-03-08 13:58:40 -08:00
andrew
d91538dcad
Variable length partial keys
2024-03-08 13:50:40 -08:00
andrew
43a768d152
Reorder some Node fields
2024-03-08 13:33:38 -08:00
andrew
2989866a6d
Move type field to end of Node
2024-03-08 13:29:02 -08:00
andrew
60df97847c
Fix missed memcpy update
...
Everything should be in terms of kNodeCopyBegin and kNodeCopySize now
2024-03-08 13:23:43 -08:00
andrew
0038382661
Prepare to bitpack node fields if desired
2024-03-08 13:11:46 -08:00
andrew
782abc70d6
Remove custom allocator
...
To prepare for variable size partial keys
2024-03-08 13:02:33 -08:00
andrew
8802d17acd
Remove Node::Invalid
2024-03-08 12:57:06 -08:00
andrew
02afd47d8f
Node1 -> Node0
2024-03-08 12:07:47 -08:00
andrew
987e93b190
Update corpus
Tests / Release [gcc] total: 827, passed: 827
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 826, passed: 826
Tests / Coverage total: 825, passed: 825
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-07 18:31:04 -08:00
andrew
81263f5abf
Remove -Wpedantic for gcc
Tests / Release [gcc] total: 704, passed: 704
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 703, passed: 703
Tests / Coverage total: 702, passed: 702
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-07 17:53:23 -08:00
andrew
2689901637
Suppress gcc warning about anon structs
Tests / Release [gcc] total: 704, passed: 704
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|1|0|1|0|:zzz:
Tests / Release [gcc,aarch64] total: 703, passed: 703
Tests / Coverage total: 702, passed: 702
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-07 17:48:44 -08:00
andrew
87dd70c4b6
Fix bug introduced in 5e1fb1dac5
Tests / Release [gcc] total: 704, passed: 704
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|1|0|1|0|:zzz:
Tests / Release [gcc,aarch64] total: 703, passed: 703
Tests / Coverage total: 702, passed: 702
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-07 17:43:34 -08:00