efb0e52a0a
SIMD implementation of scan16 for x86
...
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
Closes #29
2024-06-27 22:21:41 -07:00
2df7000090
Remove switch on phase from Stepwise left/right step
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-27 20:51:35 -07:00
5378a06c39
Vectorize all bounds checks for Node256 scan
Tests / Clang total: 1038, passed: 1038
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1038, passed: 1038
Tests / Release [gcc] total: 1038, passed: 1038
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 775, passed: 775
Tests / Coverage total: 779, passed: 779
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-27 17:40:23 -07:00
12c6ed2568
Reorganize to prepare for better vectorized first/last page
2024-06-27 17:21:41 -07:00
c065b185ae
Vectorize inner page check for Node256
2024-06-27 17:09:45 -07:00
639518bed4
Share "scan16" between Node16 and Node48
Tests / Clang total: 1130, passed: 1130
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1130, passed: 1130
Tests / Release [gcc] total: 1130, passed: 1130
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 844, passed: 844
Tests / Coverage total: 848, passed: 848
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-27 13:22:51 -07:00
7de983cc15
Simd bounds checking for scan for Node16
2024-06-27 13:08:12 -07:00
1b4b61ddc6
Write Node16 scan in a "more vectorized" style
2024-06-27 12:07:38 -07:00
bff7b85de2
Remove "Child" struct
2024-06-27 10:03:14 -07:00
9108ee209a
SoA instead of AoS for child, maxVersion
2024-06-27 09:57:54 -07:00
f8bf1c6eb4
Remove unreachable code
Tests / Clang total: 1130, passed: 1130
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1130, passed: 1130
Tests / Release [gcc] total: 1130, passed: 1130
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 844, passed: 844
Tests / Coverage total: 848, passed: 848
weaselab/conflict-set/pipeline/head There was a failure building this commit
2024-06-26 22:14:27 -07:00
4da2a01614
Use single &, to show branch-free intent
2024-06-26 22:14:05 -07:00
bb0e654040
Fix missed update for Node48::maxOfMax
2024-06-26 22:11:33 -07:00
02866a8cae
Save some bounds checking for scanning Node256
2024-06-26 20:55:18 -07:00
fa86d3e707
"max of max" for Node48 again, but physical instead of logical
2024-06-26 20:41:27 -07:00
7d1d1d7b2a
Maintain childMaxVersion == 0 for unused children in Node48
2024-06-26 20:16:50 -07:00
789ecc29b3
Use unsigned compare trick to check in bounds
2024-06-26 19:41:25 -07:00
08f2998a85
Use 8 byte pages for "max of max"
...
This seems to benchmark better
2024-06-26 19:18:38 -07:00
c882d7663d
Maintain "reverseIndex" in Node48
2024-06-26 19:11:34 -07:00
bfea4384ba
Branchless inner page check for Node256
2024-06-26 18:28:41 -07:00
6520e3d734
"max of max" for Node48
2024-06-26 17:54:03 -07:00
22e4ab01a1
Track "max of max" versions in Node256
2024-06-26 16:28:24 -07:00
b3aeed0caa
Warning: interface change! Require versions >= 0
2024-06-26 15:46:36 -07:00
5f3833e965
Change maxVersion to return by value, and add setMaxVersion
2024-06-26 15:33:15 -07:00
8b1cd9c052
Minor improvements to checkMaxBetweenExclusive
2024-06-26 15:06:50 -07:00
488c723726
Improve worst-case radix tree checkRangeRead
2024-06-25 21:22:55 -07:00
2eb461b8ea
Fix build for llvm 18
Tests / Clang total: 1130, passed: 1130
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1130, passed: 1130
Tests / Release [gcc] total: 1130, passed: 1130
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 844, passed: 844
Tests / Coverage total: 848, passed: 848
weaselab/conflict-set/pipeline/head This commit looks good
2024-06-11 11:38:55 -07:00
6e63fd5126
Add internal entry points, with test coverage
...
Closes #25
2024-04-19 11:23:25 -07:00
d2e1863593
Account for every uncovered line in the implementation
...
Tests / Clang total: 1162, passed: 1162
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1162, passed: 1162
Tests / Release [gcc] total: 1162, passed: 1162
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 868, passed: 868
Tests / Coverage total: 872, passed: 872
weaselab/conflict-set/pipeline/head This commit looks good
Closes #23
2024-04-18 12:43:48 -07:00
c15d296432
Exercise copyChildrenAndKeyFrom for Node{48,256} to itself
Tests / Clang total: 1092, passed: 1092
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1092, passed: 1092
Tests / Release [gcc] total: 1092, passed: 1092
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 817, passed: 817
Tests / Coverage total: 819, passed: 819
weaselab/conflict-set/pipeline/head This commit looks good
2024-04-17 17:13:22 -07:00
309d315956
Add DebugConflictSet, which asserts using skip list as a reference
...
Tests / Clang total: 1090, passed: 1090
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1090, passed: 1090
Tests / Release [gcc] total: 1090, passed: 1090
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 818, failed: 1, passed: 817
Tests / Coverage total: 817, passed: 817
weaselab/conflict-set/pipeline/head There was a failure building this commit
CC #23
2024-04-17 12:08:39 -07:00
85db1a8786
Allow to choose implementation in python wrapper
...
And fix a few minor bugs to make the python tests pass for skip_list.
CC #23
2024-04-17 12:08:28 -07:00
fd93300ce8
Tweaks and add more planned sections
Tests / Clang total: 1096, passed: 1096
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1096, passed: 1096
Tests / Release [gcc] total: 1096, passed: 1096
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-04-16 17:36:29 -07:00
ad91fb36a5
Symbol tests for macos + whitelist imports/exports
...
Tests / Clang total: 1096, passed: 1096
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / SIMD fallback total: 1096, passed: 1096
Tests / Release [gcc] total: 1096, passed: 1096
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
commit 1ad8276100
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:44:35 2024 -0700
Add symbols for arm build
commit 058e4d5302
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:42:48 2024 -0700
Add _GLOBAL_OFFSET_TABLE_
commit a201f3ada8
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:34:05 2024 -0700
Add memset to symbol imports
commit c1129ed0e2
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:32:28 2024 -0700
Add symbol imports file
commit 618766ce2e
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:27:07 2024 -0700
Fix objcopy filepath
commit e774a90007
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:24:44 2024 -0700
Use shellcheck precommit without docker
commit baddea7f57
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:20:26 2024 -0700
Update and freeze pre-commit hooks
commit 2d3e7b9004
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:19:55 2024 -0700
Add shellcheck to pre-commit
Closes #22
commit c4862fee9b
Author: Andrew Noyes <andrew@weaselab.dev >
Date: Wed Apr 3 12:15:08 2024 -0700
Add symbol tests for apple
closes #21
2024-04-03 12:50:51 -07:00
ab211c646a
Apply compiler-appeasing syntax changes from Taoxi
2024-03-28 14:57:31 -07:00
0a1843a161
Add USE_SIMD_FALLBACK
Tests / Clang total: 1096, passed: 1096
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 1096, passed: 1096
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-28 11:12:50 -07:00
4edf0315d9
Find insertion point for Node16 with simd
...
Closes #13
2024-03-28 10:47:20 -07:00
5cf43d1bfa
Add weaselab namespace
2024-03-27 16:07:05 -07:00
c15c2e7b44
Remove redundant static assert
...
Closes #14
2024-03-27 12:41:45 -07:00
b7cdecaf71
Document thread-safety in terms of constness
2024-03-20 16:16:15 -07:00
cda28643a6
Fix ConflictSet_getBytes
2024-03-20 16:15:43 -07:00
6222b74787
Fix tests
...
Tests / Clang total: 1096, failed: 2, passed: 1094
Tests / Release [gcc] total: 1096, failed: 2, passed: 1094
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head There was a failure building this commit
Add the new symbol, and update the valgrind client request so that
Node::partialKeyCapacity is defined.
2024-03-20 12:21:59 -07:00
19edc6f78f
Interface change! Add ConflictSet::getBytes
...
Tests / Clang total: 1096, failed: 3, passed: 1093
Tests / Release [gcc] total: 1096, failed: 2, passed: 1094
Tests / Release [gcc,aarch64] total: 824, failed: 1, passed: 823
Tests / Coverage total: 823, failed: 1, passed: 822
weaselab/conflict-set/pipeline/head There was a failure building this commit
Closes #12
2024-03-20 12:11:34 -07:00
becfd25139
De-templatize kUseFreeList
...
This results in smaller code. This is part of the "let the compiler be
in charge of inlining decisions" theme.
2024-03-19 15:12:31 -07:00
d78b36821b
Remove more redundant nullptr checks
2024-03-19 15:05:34 -07:00
ce79b47fbe
Revert 303b368fc5
...
This is a code-size / speed tradeoff. Maybe it's a good idea here, but
it's a bit weird to do this in some places and not others (there are
many places we can avoid switching on type this way). The compiler can
inline and then dead code eliminate to achieve the same effect, so we'll
just let the compiler be in charge of inlining decisions.
2024-03-19 15:01:13 -07:00
727b7e642a
Save more redundant nullptr checks
2024-03-19 14:34:59 -07:00
cb4c2b7e1e
Avoid redundant null check in some cases
Tests / Clang total: 825, passed: 825
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 825, passed: 825
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-19 14:29:13 -07:00
83c7f66d67
Remove some redundant nullptr checks
Tests / Clang total: 825, passed: 825
Clang |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc] total: 825, passed: 825
GNU C Compiler (gcc) |Total|New|Outstanding|Fixed|Trend
|:-:|:-:|:-:|:-:|:-:
|0|0|0|0|:clap:
Tests / Release [gcc,aarch64] total: 824, passed: 824
Tests / Coverage total: 823, passed: 823
weaselab/conflict-set/pipeline/head This commit looks good
2024-03-18 16:22:24 -07:00
a5710b8282
Remove performance-only code from debug build for increased coverage
2024-03-18 16:21:55 -07:00