diff options
author | Anton Samokhvalov <pg83@yandex.ru> | 2022-02-10 16:45:15 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:15 +0300 |
commit | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch) | |
tree | da2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /util/generic/benchmark/singleton/main.cpp | |
parent | 778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff) | |
download | ydb-72cb13b4aff9bc9cf22e49251bc8fd143f82538f.tar.gz |
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 1 of 2.
Diffstat (limited to 'util/generic/benchmark/singleton/main.cpp')
-rw-r--r-- | util/generic/benchmark/singleton/main.cpp | 106 |
1 files changed, 53 insertions, 53 deletions
diff --git a/util/generic/benchmark/singleton/main.cpp b/util/generic/benchmark/singleton/main.cpp index 2b06bd371d..9bceca1b07 100644 --- a/util/generic/benchmark/singleton/main.cpp +++ b/util/generic/benchmark/singleton/main.cpp @@ -1,54 +1,54 @@ #include <library/cpp/testing/benchmark/bench.h> - -#include <util/generic/singleton.h> -#include <util/generic/xrange.h> - -char& FF1() noexcept; -char& FF2() noexcept; - -namespace { - struct X { - inline X() { - } - - char Buf[100]; - }; - - inline X& F1() noexcept { - static X x; - - return x; - } - - inline X& F2() noexcept { - return *Singleton<X>(); - } -} - -Y_CPU_BENCHMARK(MagicStatic, iface) { - for (const auto i : xrange(iface.Iterations())) { - Y_UNUSED(i); - Y_DO_NOT_OPTIMIZE_AWAY(F1().Buf); - } -} - -Y_CPU_BENCHMARK(Singleton, iface) { - for (const auto i : xrange(iface.Iterations())) { - Y_UNUSED(i); - Y_DO_NOT_OPTIMIZE_AWAY(F2().Buf); - } -} - -Y_CPU_BENCHMARK(MagicStaticNI, iface) { - for (const auto i : xrange(iface.Iterations())) { - Y_UNUSED(i); - Y_DO_NOT_OPTIMIZE_AWAY(FF1()); - } -} - -Y_CPU_BENCHMARK(SingletonNI, iface) { - for (const auto i : xrange(iface.Iterations())) { - Y_UNUSED(i); - Y_DO_NOT_OPTIMIZE_AWAY(FF2()); - } -} + +#include <util/generic/singleton.h> +#include <util/generic/xrange.h> + +char& FF1() noexcept; +char& FF2() noexcept; + +namespace { + struct X { + inline X() { + } + + char Buf[100]; + }; + + inline X& F1() noexcept { + static X x; + + return x; + } + + inline X& F2() noexcept { + return *Singleton<X>(); + } +} + +Y_CPU_BENCHMARK(MagicStatic, iface) { + for (const auto i : xrange(iface.Iterations())) { + Y_UNUSED(i); + Y_DO_NOT_OPTIMIZE_AWAY(F1().Buf); + } +} + +Y_CPU_BENCHMARK(Singleton, iface) { + for (const auto i : xrange(iface.Iterations())) { + Y_UNUSED(i); + Y_DO_NOT_OPTIMIZE_AWAY(F2().Buf); + } +} + +Y_CPU_BENCHMARK(MagicStaticNI, iface) { + for (const auto i : xrange(iface.Iterations())) { + Y_UNUSED(i); + Y_DO_NOT_OPTIMIZE_AWAY(FF1()); + } +} + +Y_CPU_BENCHMARK(SingletonNI, iface) { + for (const auto i : xrange(iface.Iterations())) { + Y_UNUSED(i); + Y_DO_NOT_OPTIMIZE_AWAY(FF2()); + } +} |