#include <chrono>
#include <cstring>
#include <iosfwd>
#include <string>
#include <vector>
Go to the source code of this file.
|
| using | ankerl::nanobench::Clock = std::conditional< std::chrono::high_resolution_clock::is_steady, std::chrono::high_resolution_clock, std::chrono::steady_clock >::type |
| |
|
| void | ankerl::nanobench::render (char const *mustacheTemplate, Bench const &bench, std::ostream &out) |
| | Renders output from a mustache-like template and benchmark results. More...
|
| |
| void | ankerl::nanobench::render (std::string const &mustacheTemplate, Bench const &bench, std::ostream &out) |
| |
| void | ankerl::nanobench::render (char const *mustacheTemplate, std::vector< Result > const &results, std::ostream &out) |
| | Same as render(char const* mustacheTemplate, Bench const& bench, std::ostream& out), but for when you only have results available. More...
|
| |
| void | ankerl::nanobench::render (std::string const &mustacheTemplate, std::vector< Result > const &results, std::ostream &out) |
| |
| char const * | ankerl::nanobench::templates::csv () noexcept |
| | CSV data for the benchmark results. More...
|
| |
| char const * | ankerl::nanobench::templates::htmlBoxplot () noexcept |
| | HTML output that uses plotly to generate an interactive boxplot chart. See the tutorial for an example output. More...
|
| |
| char const * | ankerl::nanobench::templates::pyperf () noexcept |
| | Output in pyperf compatible JSON format, which can be used for more analyzations. More...
|
| |
| char const * | ankerl::nanobench::templates::json () noexcept |
| | Template to generate JSON data. More...
|
| |
| template<typename Arg > |
| void | ankerl::nanobench::doNotOptimizeAway (Arg &&arg) |
| | Makes sure none of the given arguments are optimized away by the compiler. More...
|
| |
| template<typename T > |
| void | ankerl::nanobench::detail::doNotOptimizeAway (T const &val) |
| |
| template<typename T > |
| void | ankerl::nanobench::detail::doNotOptimizeAway (T &val) |
| |
| PerformanceCounters & | ankerl::nanobench::detail::performanceCounters () |
| |
| std::ostream & | ankerl::nanobench::operator<< (std::ostream &os, BigO const &bigO) |
| |
| std::ostream & | ankerl::nanobench::operator<< (std::ostream &os, std::vector< ankerl::nanobench::BigO > const &bigOs) |
| |
◆ ANKERL_NANOBENCH
| #define ANKERL_NANOBENCH |
( |
|
x | ) |
ANKERL_NANOBENCH_PRIVATE_##x() |
◆ ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE
| #define ANKERL_NANOBENCH_IS_TRIVIALLY_COPYABLE |
( |
|
... | ) |
std::is_trivially_copyable<__VA_ARGS__>::value |
◆ ANKERL_NANOBENCH_LOG
| #define ANKERL_NANOBENCH_LOG |
( |
|
x | ) |
|
◆ ANKERL_NANOBENCH_NO_SANITIZE
| #define ANKERL_NANOBENCH_NO_SANITIZE |
( |
|
... | ) |
|
◆ ANKERL_NANOBENCH_PRIVATE_CXX
| #define ANKERL_NANOBENCH_PRIVATE_CXX |
( |
| ) |
__cplusplus |
◆ ANKERL_NANOBENCH_PRIVATE_CXX11
| #define ANKERL_NANOBENCH_PRIVATE_CXX11 |
( |
| ) |
201103L |
◆ ANKERL_NANOBENCH_PRIVATE_CXX14
| #define ANKERL_NANOBENCH_PRIVATE_CXX14 |
( |
| ) |
201402L |
◆ ANKERL_NANOBENCH_PRIVATE_CXX17
| #define ANKERL_NANOBENCH_PRIVATE_CXX17 |
( |
| ) |
201703L |
◆ ANKERL_NANOBENCH_PRIVATE_CXX98
| #define ANKERL_NANOBENCH_PRIVATE_CXX98 |
( |
| ) |
199711L |
◆ ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_POP
| #define ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_POP |
( |
| ) |
|
◆ ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_PUSH
| #define ANKERL_NANOBENCH_PRIVATE_IGNORE_EFFCPP_PUSH |
( |
| ) |
|
◆ ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_POP
| #define ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_POP |
( |
| ) |
|
◆ ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_PUSH
| #define ANKERL_NANOBENCH_PRIVATE_IGNORE_PADDED_PUSH |
( |
| ) |
|
◆ ANKERL_NANOBENCH_PRIVATE_NODISCARD
| #define ANKERL_NANOBENCH_PRIVATE_NODISCARD |
( |
| ) |
|
◆ ANKERL_NANOBENCH_PRIVATE_NOINLINE
| #define ANKERL_NANOBENCH_PRIVATE_NOINLINE |
( |
| ) |
__attribute__((noinline)) |
◆ ANKERL_NANOBENCH_PRIVATE_PERF_COUNTERS
| #define ANKERL_NANOBENCH_PRIVATE_PERF_COUNTERS |
( |
| ) |
0 |
◆ ANKERL_NANOBENCH_VERSION_MAJOR
| #define ANKERL_NANOBENCH_VERSION_MAJOR 4 |
◆ ANKERL_NANOBENCH_VERSION_MINOR
| #define ANKERL_NANOBENCH_VERSION_MINOR 3 |
◆ ANKERL_NANOBENCH_VERSION_PATCH
| #define ANKERL_NANOBENCH_VERSION_PATCH 6 |