based

Opinionated utility library
git clone git://git.dimitrijedobrota.com/based.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

instrumentation.cpp (889B)


0 #include <algorithm> 1 #include <iostream> 2 3 #include "based/instrumentation.hpp" 4 5 class reg : public based::registry<reg> 6 { 7 public: 8 explicit reg(int val) 9 : m_val(val) 10 { 11 } 12 13 int m_val; 14 }; 15 16 int main() 17 { 18 static constexpr std::size_t size = 16; 19 static constexpr std::size_t mega = 1024; 20 21 { 22 const based::timer time; 23 24 based::count_operations( 25 size, 26 size * mega * mega, 27 [](const auto& a, const auto& b) 28 { 29 std::sort(a, b); 30 }, 31 based::normalize_nlogn 32 ); 33 } 34 35 { 36 const based::timer time; 37 38 based::count_operations( 39 size, 40 size * mega * mega, 41 [](const auto& a, const auto& b) 42 { 43 std::stable_sort(a, b); 44 }, 45 based::normalize_nlogn 46 ); 47 } 48 49 const reg a(0); 50 const reg b(1); 51 const reg c(2); 52 53 std::cout << based::registry<reg>::count << '\n'; 54 }