aboutsummaryrefslogtreecommitdiffhomepage
path: root/tdutils/test
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2023-05-10 14:35:21 +0300
committerlevlam <levlam@telegram.org>2023-05-10 14:35:21 +0300
commit6f94c363f7614512c4b781841e121b9a09488a0d (patch)
tree4f57835132bb58337103a4dfd9b525536049aebc /tdutils/test
parent37c46b8b12da75e961ef796445b39b009dcf4b93 (diff)
Add Enumerator benchmark.
Diffstat (limited to 'tdutils/test')
-rw-r--r--tdutils/test/Enumerator.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/tdutils/test/Enumerator.cpp b/tdutils/test/Enumerator.cpp
index b07c99c13..df87154aa 100644
--- a/tdutils/test/Enumerator.cpp
+++ b/tdutils/test/Enumerator.cpp
@@ -4,7 +4,9 @@
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
+#include "td/utils/benchmark.h"
#include "td/utils/Enumerator.h"
+#include "td/utils/Random.h"
#include "td/utils/tests.h"
TEST(Enumerator, simple) {
@@ -22,3 +24,21 @@ TEST(Enumerator, simple) {
ASSERT_EQ(c, e.add("c"));
ASSERT_EQ(d, e.add("d"));
}
+
+TEST(Enumerator, add_benchmark) {
+ class EnumeratorAddBenchmark final : public td::Benchmark {
+ public:
+ td::string get_description() const final {
+ return "EnumeratorAdd";
+ }
+
+ void run(int n) final {
+ td::Enumerator<int> enumerator;
+ for (int i = 0; i < n; i++) {
+ enumerator.add(td::Random::fast(1, 10000000));
+ }
+ td::do_not_optimize_away(enumerator.size());
+ }
+ };
+ bench(EnumeratorAddBenchmark());
+}