Make metrics thread-safe

Even concurrently with calling non-const methods on the associated
ConflictSet
This commit is contained in:
2024-07-12 13:22:02 -07:00
parent ef14003781
commit 3288c583e4
10 changed files with 111 additions and 22 deletions
+8 -4
View File
@@ -362,10 +362,14 @@ void benchMetrics() {
ankerl::nanobench::Bench bench;
ConflictSet cs{0};
bench.run("metrics", [&]() {
ConflictSet::MetricsV1 *m;
int count;
cs.getMetricsV1(&m, &count);
int count;
ConflictSet::MetricsV1 *m;
cs.getMetricsV1(&m, &count);
bench.batch(count);
bench.run("fetch metric", [&]() {
for (int i = 0; i < count; ++i) {
m[i].getValue();
}
});
}