aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp
diff options
context:
space:
mode:
authordcherednik <dcherednik@ydb.tech>2023-10-16 18:45:45 +0300
committerdcherednik <dcherednik@ydb.tech>2023-10-16 19:15:52 +0300
commitdb31d57343fb362748da89b0e602645ce9dd9810 (patch)
tree0307597118609ca4a07f5dc7dd2ca0724c0db938 /library/cpp
parent2ccfda7458622536129fd3b68e9dfbbe971e36f0 (diff)
downloadydb-db31d57343fb362748da89b0e602645ce9dd9810.tar.gz
Speed up TPercentileTracker/TPercentileTrackerLg
old values: NMonitoring::TPercentileTracker<4ul, 512ul, 15ul> 0.748282s NMonitoring::TPercentileTrackerLg<4ul, 3ul, 15ul> 0.221432s new values: NMonitoring::TPercentileTracker<4ul, 512ul, 15ul> 0.640864s NMonitoring::TPercentileTrackerLg<4ul, 3ul, 15ul> 0.205138s
Diffstat (limited to 'library/cpp')
-rw-r--r--library/cpp/monlib/dynamic_counters/percentile/percentile.h3
-rw-r--r--library/cpp/monlib/dynamic_counters/percentile/percentile_lg.h6
2 files changed, 3 insertions, 6 deletions
diff --git a/library/cpp/monlib/dynamic_counters/percentile/percentile.h b/library/cpp/monlib/dynamic_counters/percentile/percentile.h
index db40793adf..9b3db1c330 100644
--- a/library/cpp/monlib/dynamic_counters/percentile/percentile.h
+++ b/library/cpp/monlib/dynamic_counters/percentile/percentile.h
@@ -34,8 +34,7 @@ struct TPercentileTracker : public TPercentileBase {
// shift frame (call periodically)
void Update() {
- TVector<size_t> totals(BUCKET_COUNT);
- totals.resize(BUCKET_COUNT);
+ std::array<size_t, BUCKET_COUNT> totals;
size_t total = 0;
for (size_t i = 0; i < BUCKET_COUNT; ++i) {
size_t item = Items[i].load(std::memory_order_relaxed);
diff --git a/library/cpp/monlib/dynamic_counters/percentile/percentile_lg.h b/library/cpp/monlib/dynamic_counters/percentile/percentile_lg.h
index e27664ded9..01a2277346 100644
--- a/library/cpp/monlib/dynamic_counters/percentile/percentile_lg.h
+++ b/library/cpp/monlib/dynamic_counters/percentile/percentile_lg.h
@@ -1,7 +1,5 @@
#pragma once
-#include <library/cpp/containers/stack_vector/stack_vec.h>
-
#include <util/generic/bitops.h>
#include <cmath>
@@ -140,7 +138,7 @@ struct TPercentileTrackerLg : public TPercentileBase {
// Needed only for tests
size_t GetPercentile(float threshold) {
- TStackVec<size_t, ITEMS_COUNT> totals(ITEMS_COUNT);
+ std::array<size_t, ITEMS_COUNT> totals;
size_t total = 0;
for (size_t i = 0; i < ITEMS_COUNT; ++i) {
total += Items[i].load();
@@ -156,7 +154,7 @@ struct TPercentileTrackerLg : public TPercentileBase {
// shift frame (call periodically)
void Update() {
- TStackVec<size_t, ITEMS_COUNT> totals(ITEMS_COUNT);
+ std::array<size_t, ITEMS_COUNT> totals;
size_t total = 0;
for (size_t i = 0; i < ITEMS_COUNT; ++i) {
size_t item = Items[i].load(std::memory_order_relaxed);