diff options
| author | levlam <levlam@telegram.org> | 2023-05-10 14:35:21 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2023-05-10 14:35:21 +0300 |
| commit | 6f94c363f7614512c4b781841e121b9a09488a0d (patch) | |
| tree | 4f57835132bb58337103a4dfd9b525536049aebc /tdutils/test | |
| parent | 37c46b8b12da75e961ef796445b39b009dcf4b93 (diff) | |
Add Enumerator benchmark.
Diffstat (limited to 'tdutils/test')
| -rw-r--r-- | tdutils/test/Enumerator.cpp | 20 |
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()); +} |
