diff options
Diffstat (limited to 'protocols/Telegram/tdlib/td/tdutils/test/Enumerator.cpp')
-rw-r--r-- | protocols/Telegram/tdlib/td/tdutils/test/Enumerator.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/protocols/Telegram/tdlib/td/tdutils/test/Enumerator.cpp b/protocols/Telegram/tdlib/td/tdutils/test/Enumerator.cpp index 210ab415cc..6f40ae7b5f 100644 --- a/protocols/Telegram/tdlib/td/tdutils/test/Enumerator.cpp +++ b/protocols/Telegram/tdlib/td/tdutils/test/Enumerator.cpp @@ -1,14 +1,17 @@ // -// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2022 +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023 // // 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/common.h" #include "td/utils/Enumerator.h" +#include "td/utils/Random.h" #include "td/utils/tests.h" TEST(Enumerator, simple) { - td::Enumerator<std::string> e; + td::Enumerator<td::string> e; auto b = e.add("b"); auto a = e.add("a"); auto d = e.add("d"); @@ -22,3 +25,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()); +} |