andrew
|
5c0cc1edf5
|
Add longestCommonPrefix bench
|
2024-09-05 16:30:58 -07:00 |
|
andrew
|
56893f9702
|
Update stale comments
|
2024-09-05 10:06:02 -07:00 |
|
andrew
|
ce853680f2
|
Finish checkRangeRightSide conversion
|
2024-09-04 12:36:43 -07:00 |
|
andrew
|
5c39c1d64f
|
CheckRangeRightSide conversion WIP
|
2024-09-04 12:25:16 -07:00 |
|
andrew
|
55b73c8ddb
|
Convert CheckRangeRightSide WIP
|
2024-09-04 12:22:36 -07:00 |
|
andrew
|
b9503f8258
|
Converting CheckRangeRightSide WIP
|
2024-09-04 12:19:53 -07:00 |
|
andrew
|
c4c4531bd3
|
Simplify
|
2024-09-04 12:12:54 -07:00 |
|
andrew
|
2037d37c66
|
checkRangeLeftSide
|
2024-09-04 12:11:16 -07:00 |
|
andrew
|
6fe6a244af
|
Get CheckRangeLeftSide closer, WIP
|
2024-09-04 12:08:16 -07:00 |
|
andrew
|
8a4b370e2a
|
Make CheckRange{Left,Right}Side into normal functions, WIP
|
2024-09-04 12:04:58 -07:00 |
|
andrew
|
394f09f9fb
|
WIP adding metrics to skiplist
|
2024-08-30 16:06:43 -07:00 |
|
andrew
|
5e06a30357
|
Add optional microbenchmarks for rezero/scan avx512
|
2024-08-29 12:12:24 -07:00 |
|
andrew
|
c11b4714b5
|
Check more preconditions in Debug mode
|
2024-08-26 12:43:07 -07:00 |
|
andrew
|
c9d742b696
|
Make explicit the precondition that versions must be <= latest version
|
2024-08-24 13:43:39 -07:00 |
|
andrew
|
7f86fdee66
|
Test 64 bit versions
Keep 32 bit versions the default though
|
2024-08-21 14:00:00 -07:00 |
|
andrew
|
311794c37e
|
Update GCOVR annotations now that jenkins agent has avx512
|
2024-08-20 16:34:27 -07:00 |
|
andrew
|
0a9ac59676
|
Commit to non-simd Node3 implementations
|
2024-08-20 10:36:04 -07:00 |
|
andrew
|
e3a77ed773
|
Remove unnecessary casts
|
2024-08-20 10:30:27 -07:00 |
|
andrew
|
cdf9a8a7b0
|
Save 8 bytes in Node3
|
2024-08-20 10:30:07 -07:00 |
|
andrew
|
305dfdd52f
|
Change whitespace in node structs for consistency
|
2024-08-20 09:57:44 -07:00 |
|
andrew
|
7261c91492
|
Remove Node48::nextFree, and improve padding to save 8 bytes
|
2024-08-20 09:51:29 -07:00 |
|
andrew
|
3634b6a59b
|
Simplify slightly in checkMaxBetweenExclusive
|
2024-08-17 14:34:13 -07:00 |
|
andrew
|
a3cc14c807
|
Fix double counting of remove node in showMemory mode
|
2024-08-17 13:43:47 -07:00 |
|
andrew
|
b009de1c2b
|
Avoid branching on type twice in erase
|
2024-08-16 09:29:22 -07:00 |
|
andrew
|
55a230c75e
|
Remove dontInvalidate arg from erase
Use a new node member "endOfRange" instead
|
2024-08-16 09:08:56 -07:00 |
|
andrew
|
0711ec3831
|
Remove dead code
|
2024-08-15 20:19:00 -07:00 |
|
andrew
|
0280bd77e5
|
Skip "dontInvalidate" check in erase from gc
|
2024-08-15 19:07:53 -07:00 |
|
andrew
|
fb7cf18f9b
|
Add some comments about safety of calling maxVersion
|
2024-08-15 17:35:55 -07:00 |
|
andrew
|
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 |
|
andrew
|
e480f66846
|
Have caller ensure root max version for insert
|
2024-08-15 17:05:10 -07:00 |
|
andrew
|
d5bc9221a0
|
Simplify addWriteRange slightly
|
2024-08-15 16:59:28 -07:00 |
|
andrew
|
9d23b81d6f
|
Bring in some of the changes from erase-between branch
|
2024-08-15 16:55:26 -07:00 |
|
andrew
|
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 |
|
andrew
|
176df61321
|
Simplify handling of beginNode invalidation if begin is prefix of end
|
2024-08-14 14:26:13 -07:00 |
|
andrew
|
45995e3307
|
Update comments
|
2024-08-12 17:05:21 -07:00 |
|
andrew
|
359b0b29ff
|
Avoid function call if no partial key
|
2024-08-12 16:33:03 -07:00 |
|
andrew
|
54e47ebd40
|
Simplify insert loop
|
2024-08-12 16:25:12 -07:00 |
|
andrew
|
1c9dda68a6
|
Call consumePartialKey from getOrCreateChild
|
2024-08-12 16:24:05 -07:00 |
|
andrew
|
142455dd28
|
Move consumePartialKey, and allow empty partial key
|
2024-08-12 16:18:58 -07:00 |
|
andrew
|
567d385fbd
|
WIP create child in getOrCreateChild
|
2024-08-12 16:11:16 -07:00 |
|
andrew
|
8a44055533
|
Consume first byte in insert iteration
|
2024-08-12 15:39:09 -07:00 |
|
andrew
|
3d592bd6a9
|
Move longestCommonPrefix to its own file
|
2024-08-12 15:10:05 -07:00 |
|
andrew
|
f5f5fb620b
|
Run gc at 200%
150% pessimized the "real data" benchmark
|
2024-08-12 10:48:24 -07:00 |
|
andrew
|
182c065c8e
|
Insert common prefix in addWriteRange
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 |
|
andrew
|
2dba0d5be3
|
Have insert return a pointer to the in-tree pointer
|
2024-08-09 13:58:31 -07:00 |
|
andrew
|
a1dfdf355c
|
Use metrics to count change in entry count
This lets us run gc slower safely
|
2024-08-09 13:44:49 -07:00 |
|
andrew
|
ac98d4a443
|
Remove always_inline attribute - it wasn't affecting codegen
|
2024-08-08 10:44:54 -07:00 |
|
andrew
|
7d86beb14c
|
Revert 29c05187fb
We're already doing this in checkRangeStartsWith
|
2024-08-07 16:51:23 -07:00 |
|
andrew
|
2fa954ed36
|
Fix compiler warning
|
2024-08-07 16:25:49 -07:00 |
|
andrew
|
ded6e7fc2c
|
Require entry present for fixupMaxVersion
|
2024-08-06 17:59:38 -07:00 |
|