aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/botan/src/lib/utils/timer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/3rdparty/botan/src/lib/utils/timer.cpp')
-rw-r--r--src/libs/3rdparty/botan/src/lib/utils/timer.cpp118
1 files changed, 0 insertions, 118 deletions
diff --git a/src/libs/3rdparty/botan/src/lib/utils/timer.cpp b/src/libs/3rdparty/botan/src/lib/utils/timer.cpp
deleted file mode 100644
index 5d64e63fb8..0000000000
--- a/src/libs/3rdparty/botan/src/lib/utils/timer.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-* (C) 2018 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#include <botan/internal/timer.h>
-#include <algorithm>
-#include <sstream>
-#include <iomanip>
-
-namespace Botan {
-
-void Timer::stop()
- {
- if(m_timer_start)
- {
- const uint64_t now = Timer::get_system_timestamp_ns();
-
- if(now > m_timer_start)
- {
- uint64_t dur = now - m_timer_start;
-
- m_time_used += dur;
-
- if(m_cpu_cycles_start != 0)
- {
- uint64_t cycles_taken = Timer::get_cpu_cycle_counter() - m_cpu_cycles_start;
- if(cycles_taken > 0)
- {
- m_cpu_cycles_used += static_cast<size_t>(cycles_taken * m_clock_cycle_ratio);
- }
- }
-
- if(m_event_count == 0)
- {
- m_min_time = m_max_time = dur;
- }
- else
- {
- m_max_time = std::max(m_max_time, dur);
- m_min_time = std::min(m_min_time, dur);
- }
- }
-
- m_timer_start = 0;
- ++m_event_count;
- }
- }
-
-std::string Timer::result_string_bps() const
- {
- const size_t MiB = 1024 * 1024;
-
- const double MiB_total = static_cast<double>(events()) / MiB;
- const double MiB_per_sec = MiB_total / seconds();
-
- std::ostringstream oss;
- oss << get_name();
-
- if(!doing().empty())
- {
- oss << " " << doing();
- }
-
- if(buf_size() > 0)
- {
- oss << " buffer size " << buf_size() << " bytes:";
- }
-
- if(events() == 0)
- oss << " " << "N/A";
- else
- oss << " " << std::fixed << std::setprecision(3) << MiB_per_sec << " MiB/sec";
-
- if(cycles_consumed() != 0)
- {
- const double cycles_per_byte = static_cast<double>(cycles_consumed()) / events();
- oss << " " << std::fixed << std::setprecision(2) << cycles_per_byte << " cycles/byte";
- }
-
- oss << " (" << MiB_total << " MiB in " << milliseconds() << " ms)\n";
-
- return oss.str();
- }
-
-std::string Timer::result_string_ops() const
- {
- std::ostringstream oss;
-
- oss << get_name() << " ";
-
- if(events() == 0)
- {
- oss << "no events\n";
- }
- else
- {
- oss << static_cast<uint64_t>(events_per_second())
- << ' ' << doing() << "/sec; "
- << std::setprecision(2) << std::fixed
- << ms_per_event() << " ms/op";
-
- if(cycles_consumed() != 0)
- {
- const double cycles_per_op = static_cast<double>(cycles_consumed()) / events();
- const size_t precision = (cycles_per_op < 10000) ? 2 : 0;
- oss << " " << std::fixed << std::setprecision(precision) << cycles_per_op << " cycles/op";
- }
-
- oss << " (" << events() << " " << (events() == 1 ? "op" : "ops")
- << " in " << milliseconds() << " ms)\n";
- }
-
- return oss.str();
- }
-
-}