andrew
|
493a6572ad
|
Only exclude avx512-targeted functions from coverage
|
2024-08-02 20:53:30 -07:00 |
|
andrew
|
abce4591d0
|
Fix preprocessor guard for avx512 longestCommonPrefix
|
2024-08-02 20:46:32 -07:00 |
|
andrew
|
d1dc1247e1
|
Switch to new machine for benchmarks
|
2024-08-02 18:18:36 -07:00 |
|
andrew
|
f1ad68109a
|
Skip lcp call in SearchStepWise if no partial key
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
c4443bc355
|
Remove len < 8 check in longestCommonPrefix
Micro benchmarks look a tiny bit better /shrug
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
857b402fe2
|
Add an avx512bw longestCommonPrefix
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
9b3e1b219b
|
Remove small memmoves in erase
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
ab52c63935
|
Move local accum's into ReadContext
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
bad9d7ced8
|
Avoid some tls lookups for InternalVersionT::zero
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
c8d9dc034d
|
Remove memmove call for inserting into Node16
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
72168ef6a3
|
Avoid memmove when inserting into Node3
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
620a0afd2a
|
Add debug symbols and frame pointer
So that perf works out of the box. Leave it in the release artifacts/do
whatever cpack does by default for now.
|
2024-08-02 18:16:55 -07:00 |
|
andrew
|
b0414969be
|
Update README.md
Benchmarks haven't been updated since adding metrics
|
2024-08-01 16:43:15 -07:00 |
|
andrew
|
1673e1c0dd
|
Enforce 100% line coverage again. Closes #30
|
2024-08-01 16:03:17 -07:00 |
|
andrew
|
7351b6e417
|
More gcovr exclusions for function multi-versioning
|
2024-08-01 15:53:38 -07:00 |
|
andrew
|
561ed45e3e
|
Show missing coverage lines in console output
|
2024-08-01 15:43:09 -07:00 |
|
andrew
|
ca804f28c0
|
Get back to 100% line coverage locally
|
2024-08-01 15:31:38 -07:00 |
|
andrew
|
3898cb596a
|
Use _mm512_loadu_epi32 instead of memcpy
The latter somehow generated a vmovdqa64 instruction that segfaulted on
unaligned memory, with gcc and --coverage. Hmm.
|
2024-08-01 15:24:09 -07:00 |
|
andrew
|
b8edd92698
|
Fix warning
|
2024-08-01 15:23:43 -07:00 |
|
andrew
|
8e480528d5
|
Update corpus
|
2024-08-01 14:56:36 -07:00 |
|
andrew
|
4113183155
|
Attempt to fix likely arm bug
|
2024-08-01 14:01:41 -07:00 |
|
andrew
|
adb8fdc5e9
|
Simplify nextPhysical
|
2024-08-01 14:00:02 -07:00 |
|
andrew
|
c86e407985
|
Return Node from getChildGeq
It seems all callers ultimately want this
|
2024-08-01 13:53:18 -07:00 |
|
andrew
|
71a84057cb
|
Find two more call sites for getFirstChildExists
|
2024-08-01 13:37:44 -07:00 |
|
andrew
|
9c5e5863c2
|
Simplify remaining "down left spine" loops
|
2024-08-01 13:17:33 -07:00 |
|
andrew
|
be67555756
|
Simplify more "down left spine" loops
|
2024-08-01 13:13:55 -07:00 |
|
andrew
|
988ec5ce69
|
Add getFirstChildExists
|
2024-08-01 13:05:40 -07:00 |
|
andrew
|
f5a0d81c52
|
Remove some redundant branches
I think they were getting optimized out, but still
|
2024-08-01 12:37:57 -07:00 |
|
andrew
|
3b2bd16cd1
|
Add overloads of getChild for each type
|
2024-08-01 11:42:55 -07:00 |
|
andrew
|
4b3df0a426
|
Avoid dispatching on node type twice in nextPhysical
|
2024-08-01 10:46:08 -07:00 |
|
andrew
|
4cdf6deb50
|
Remove a branch in happy path in addWrites
|
2024-08-01 10:28:50 -07:00 |
|
andrew
|
f21dde06d3
|
Group write metric accumulators into a struct
|
2024-07-31 21:45:20 -07:00 |
|
andrew
|
2b11650589
|
Update aarch64 import symbols
|
2024-07-31 17:34:30 -07:00 |
|
andrew
|
fce998460f
|
Use int64_t internally for metrics
So we can use fetch_add
|
2024-07-31 14:41:42 -07:00 |
|
andrew
|
6da3125719
|
Remove everything wasm-related
I'm not interested in supporting wasm at this time
|
2024-07-31 14:04:10 -07:00 |
|
andrew
|
79410d071f
|
Add accidentally-deleted corpus back
|
2024-07-26 14:57:04 -07:00 |
|
andrew
|
1fcca6450d
|
Fix point writes accounting
Previously it wouldn't count a singleton range write
|
2024-07-26 14:41:54 -07:00 |
|
andrew
|
55271ad06c
|
Update corpus
To match new "interleaving" test setup
|
2024-07-23 16:54:03 -07:00 |
|
andrew
|
e675612599
|
Suppress some warnings in test code
|
2024-07-23 16:50:02 -07:00 |
|
andrew
|
42b5d50492
|
Update DEBUG_VERBOSE for interleaving conflict sets in test
|
2024-07-23 15:44:29 -07:00 |
|
andrew
|
6394995def
|
Add a test where the "zero" bug causes an incorrect commit
|
2024-07-23 14:39:45 -07:00 |
|
andrew
|
c649bc7964
|
Interleave calls for two conflict sets in tests
|
2024-07-23 11:12:02 -07:00 |
|
andrew
|
ec85a06d01
|
Bump version
|
2024-07-22 17:25:38 -07:00 |
|
andrew
|
fb9f5ce6f4
|
Update InternalVersionT::zero in addWrite call
There can be other conflict sets in the same thread
v0.0.9
|
2024-07-22 16:14:25 -07:00 |
|
andrew
|
2b1c710953
|
Add noop getMetricsV1 to HashTable.cpp
|
2024-07-19 11:25:12 -07:00 |
|
andrew
|
ebf281220b
|
Add NOLINT for new clangd warning about sizeof pointer
|
2024-07-19 11:24:37 -07:00 |
|
andrew
|
6051b2fb2e
|
Remove benchMetrics
It's not all that interesting in the end
|
2024-07-19 11:24:01 -07:00 |
|
andrew
|
11c3ca6766
|
Add oldest_extant_version metric
|
2024-07-18 14:19:11 -07:00 |
|
andrew
|
b45dec2f1f
|
Add point_writes_total and range_writes_total
|
2024-07-18 14:00:57 -07:00 |
|
andrew
|
c5e9f18c47
|
Remove some unnecessary std::exchange's
|
2024-07-17 18:57:12 -07:00 |
|