5aab76847a
Add inner-full-word test
Tests / Clang total: 934, passed: 934
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 934, passed: 934
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 933, passed: 933
Tests / Coverage total: 932, passed: 932
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-17 14:42:11 -07:00
1a51aa00e5
Run scripted tests
Tests / Clang total: 933, passed: 933
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 933, passed: 933
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 932, passed: 932
Tests / Coverage total: 931, passed: 931
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-16 22:04:30 -07:00
3975bada0c
Add a simple language for scripting tests
2024-03-16 22:02:00 -07:00
a5330b6e23
Minor paper tweaks
2024-03-16 12:45:36 -07:00
2e246ec6a4
Cachegrind says this is fewer instructions
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
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-16 08:46:41 -07:00
6d7e3c9849
Fix invalid offsetof warnings
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
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-15 21:37:21 -07:00
671da5d096
Collect gcc warnings again in Jenkins
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|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-15 19:00:01 -07:00
303b368fc5
Add Type template parameter to maybeDownsize to avoid branch
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
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-15 18:05:32 -07:00
9f5a68e2c0
Use plain loop for Node3
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
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-15 17:35:14 -07:00
dfbb3ce5f1
Use assume
...
It works now that we fell back to the __builtin_unreachable based
implementation for gcc.
2024-03-15 17:23:02 -07:00
e7719b6e0b
Disable sanitizers when cross-compiling
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|3|0|3|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
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-15 17:04:49 -07:00
83fedf1f9e
Remove dead code
2024-03-15 17:00:20 -07:00
8556caf360
Cachegrind says memset uses fewer instructions here
2024-03-15 16:57:16 -07:00
9d13ca84f5
Fix bug spotted by hand. No test coverage there yet
2024-03-15 16:55:34 -07:00
a79436ee9b
Use statically-known numChildren in Node3 -> Node16
2024-03-15 16:52:40 -07:00
e9c8537cf2
Copy Node members and set children pointers in copyChildrenAndKeyFrom
2024-03-15 16:28:58 -07:00
5b988efe6f
Consolidate copyChildrenAndKeyFrom implementations
2024-03-15 16:12:44 -07:00
e35d698b21
Improve copyChildrenAndKeyFrom-related codegen
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|1|0|1|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-15 08:19:16 -07:00
30496d14e7
Don't print out filename in TestDriver.cpp
2024-03-15 07:44:11 -07:00
eb93157ddf
Improve codegen in freeAndMakeCapacityAtLeast
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|1|0|1|0|:zzz:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-14 19:23:49 -07:00
9cafef8bbb
Update benchmarks after fixing skip list bug in a9b3d3d
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-14 15:50:55 -07:00
6f81580953
Guard SHOW_MEMORY-only code
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, failed: 309, passed: 622
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-03-14 15:40:09 -07:00
429fe5baed
Fix some uses of uninitialized memory
...
Introduced in ee36bda8f8
, unsurprisingly.
2024-03-14 15:39:37 -07:00
a0451e4423
Give radix tree setOldestVersion an extra 10 work per call
...
It seemed to really be important for the skip list. I'm cargo culting
this a little bit here.
2024-03-14 15:32:39 -07:00
a9b3d3d1c9
Show peak memory in skip list, and fix setOldestVersion bug
...
It was not previously gc'ing faster than it was writing.
2024-03-14 15:31:29 -07:00
b817e3c749
Track malloc size with a header for SHOW_MEMORY
2024-03-14 15:30:46 -07:00
ee36bda8f8
Track initializedness of Node memory more precisely
...
By not initializing Node members with dummy default values.
This has performance/code size benefits, and improves debugging when
running under valgrind.
Unfortunately this also makes it easy to write code that uses
uninitialized memory, so if valgrind doesn't have good coverage then we
might let some uninit usages sneak through.
We plan to have good coverage for valgrind, so I think it's ok. If
writing correct code becomes too tedious then we can go back to
initializing Node fields with dummy default values.
2024-03-14 14:58:20 -07:00
a8f4bd91c8
Use asan and ubsan for whitebox/fuzz tests
2024-03-14 13:47:21 -07:00
35086ee66a
Add GCOVR_EXCL_LINE to default labels too
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
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 20:54:05 -07:00
0f795cf163
Set -DNVALGRIND for release artifacts
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
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 20:45:59 -07:00
a07c93ffff
New switch idiom
...
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
Add -Wswitch-enum -Werror=switch-enum to enforce that we explicitly
handle all cases, and add a default: __builtin_unreachable() to all
switches to make un-enumerated values UB
2024-03-13 20:07:27 -07:00
c68f563017
"partial capacity bytes" -> "partial key capacity bytes"
2024-03-13 18:51:48 -07:00
6b6a9bace9
Fix SHOW_MEMORY for gcc and glibc on linux
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
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 16:57:38 -07:00
3cb0765fdd
Rework SHOW_MEMORY
...
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
closes #10
2024-03-13 16:48:28 -07:00
351ff3df3b
Cave in and just add the unreachable's gcc wants
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
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 14:58:34 -07:00
e818648cdc
makeCapacityAtLeast -> freeAndMakeCapacityAtLeast
2024-03-13 14:01:47 -07:00
12540b8713
maybeDecreaseCapacity policy was too strong
...
We can allow larger capacities and still pay for the key bytes
2024-03-13 14:00:01 -07:00
c2606cd26a
Add clang build in jenkins and record issues for clang
...
Tests / Clang total: 932, passed: 932
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 932, passed: 932
Tests / Release [gcc,aarch64] total: 931, passed: 931
Tests / Coverage total: 930, passed: 930
weaselab/conflict-set/pipeline/head This commit looks good
I can't seem to get gcc to do what I want for this control flow warning
thingy
2024-03-13 13:39:39 -07:00
4b72fc0b7b
Try -fstrict-enums
...
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87951 suggests this might
make the control-flow warning go away
2024-03-13 13:28:09 -07:00
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
08b2b7f41a
Move comment to above field it's commenting on
2024-03-13 12:38:16 -07:00
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
55eaef5b1d
Remove 16 bytes from Node0
2024-03-13 10:59:25 -07:00
797e6b4a3e
Use switch for type dispatch throughout
2024-03-13 10:59:19 -07:00
ee86b5289b
Rearrange induction inequalities
...
This looks nicer IMO
2024-03-13 07:31:24 -07:00
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
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
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
75c304bbe7
WIP my understanding of the memory bound induction was wrong
2024-03-12 15:56:34 -07:00
aefb83dbc6
Prepare for erase to invalidate children of parent
2024-03-12 15:54:21 -07:00