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
|
fce998460f
|
Use int64_t internally for metrics
So we can use fetch_add
|
2024-07-31 14:41:42 -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
|
c649bc7964
|
Interleave calls for two conflict sets in tests
|
2024-07-23 11:12:02 -07:00 |
|
andrew
|
fb9f5ce6f4
|
Update InternalVersionT::zero in addWrite call
There can be other conflict sets in the same thread
|
2024-07-22 16:14:25 -07:00 |
|
andrew
|
ebf281220b
|
Add NOLINT for new clangd warning about sizeof pointer
|
2024-07-19 11:24:37 -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 |
|
andrew
|
cebbf89cbe
|
Fix build for x86
|
2024-07-17 18:47:12 -07:00 |
|
andrew
|
abb791d86b
|
Just use a normal && in a place where being branch-free isn't a big deal
|
2024-07-17 18:21:33 -07:00 |
|
andrew
|
12f361f33a
|
Don't plumb impl and ReadContext
|
2024-07-17 18:20:08 -07:00 |
|
andrew
|
640c1ca9dd
|
Fix issue with thread_local performance
|
2024-07-17 17:54:39 -07:00 |
|
andrew
|
b7d54d44e1
|
Add oldest version and newest version metrics
|
2024-07-17 16:42:46 -07:00 |
|
andrew
|
95596f831f
|
Add some metrics for addWrites and setOldestVersion
|
2024-07-17 16:35:29 -07:00 |
|
andrew
|
56e847b63c
|
Experiment with CLOCK_THREAD_CPUTIME_ID
|
2024-07-15 21:34:22 -07:00 |
|
andrew
|
7fd1c9e140
|
Make range_read_iterations_total consistent with others
|
2024-07-15 17:23:48 -07:00 |
|
andrew
|
ebaac253e2
|
Don't count loop entry as an "iteration"
|
2024-07-15 14:46:57 -07:00 |
|
andrew
|
9b470a367c
|
Add check_bytes_total counter
|
2024-07-15 14:40:22 -07:00 |
|
andrew
|
e7806a36d1
|
Fix range_read_total counter
It was overcounting
|
2024-07-15 14:09:31 -07:00 |
|
andrew
|
ffd1dfe74d
|
Rework check metrics
{point,prefix,range} x {count,iterations,short_circuits} + node scans
|
2024-07-15 14:02:39 -07:00 |
|
andrew
|
c39af9117f
|
Remove nodes allocated/released metrics
|
2024-07-15 13:34:13 -07:00 |
|
andrew
|
ed274c24d7
|
Just output metrics in the order declared
|
2024-07-12 16:10:28 -07:00 |
|
andrew
|
cecfcc0da7
|
Fix build
|
2024-07-12 14:52:42 -07:00 |
|
andrew
|
f6edde0e50
|
Fix data race
|
2024-07-12 14:49:46 -07:00 |
|
andrew
|
04ac41a7e7
|
Add memory usage and some "check" metrics
|
2024-07-12 14:22:16 -07:00 |
|
andrew
|
3288c583e4
|
Make metrics thread-safe
Even concurrently with calling non-const methods on the associated
ConflictSet
|
2024-07-12 13:22:02 -07:00 |
|
andrew
|
3ac16bc966
|
Propose a metrics interface
|
2024-07-12 12:00:46 -07:00 |
|
andrew
|
4182d904c5
|
Fix an issue where gc wasn't outpacing writes
|
2024-07-11 16:40:18 -07:00 |
|
andrew
|
65f8462e88
|
Remove dead code
|
2024-07-08 11:14:30 -07:00 |
|
andrew
|
46e01af027
|
Specialize scan16 for Node16 in checkMaxBetweenExclusive
|
2024-07-08 11:01:17 -07:00 |
|
andrew
|
c9d0d72684
|
Remove some branches for Node3 in checkMaxBetweenExclusive
|
2024-07-07 20:45:20 -07:00 |
|
andrew
|
9046dc5a8f
|
Only switch on type once in checkMaxBetweenExclusive
|
2024-07-07 17:28:45 -07:00 |
|
andrew
|
e2927bf0fa
|
Simplify condition for TooOld in check
|
2024-07-03 16:39:22 -07:00 |
|
andrew
|
75a2b8d06c
|
Remove bogus assert
It's bogus since we mess with oldestVersionFullPrecision in addWrites
|
2024-07-03 14:47:50 -07:00 |
|
andrew
|
76df63a9d7
|
Allow writeVersion, oldestVersion, and readVersion to span 2e9
|
2024-07-03 14:19:50 -07:00 |
|
andrew
|
3db3d975fc
|
Interface change! Allow decreasing setOldestVersion
|
2024-07-03 10:31:57 -07:00 |
|
andrew
|
982b31af34
|
Explicitly convert uint32x4_t to int32x4_t
|
2024-07-03 10:01:00 -07:00 |
|
andrew
|
cc716ef16b
|
Attempt to fix memory leak
|
2024-07-03 09:48:02 -07:00 |
|
andrew
|
3e6be6bd83
|
Allow write version to jump by more than 2e9
|
2024-07-03 09:07:09 -07:00 |
|
andrew
|
3e2c8310bb
|
Fix several bugs related to extant versions too old
|
2024-07-03 07:53:03 -07:00 |
|
andrew
|
8264f1342d
|
Fix some precision issues
|
2024-07-02 13:55:05 -07:00 |
|
andrew
|
5d7e9c6f85
|
Compare against oldestVersionFullPrecision at full precision
|
2024-07-02 13:53:56 -07:00 |
|
andrew
|
cdf42fcb34
|
Add gcScanStep
Also remove oldestVersion arg in write call tree
|
2024-07-02 13:06:53 -07:00 |
|
andrew
|
a04e81b3ff
|
Add version window constants
|
2024-07-02 12:45:35 -07:00 |
|
andrew
|
68ab9a9f08
|
Commit to 32-bit versions
|
2024-07-02 10:30:22 -07:00 |
|
andrew
|
01488880ef
|
Fix outdated comment
|
2024-07-01 17:27:04 -07:00 |
|