nanobench

Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20

MIT License

Stars
1.4K

Bot releases are hidden (Show)

nanobench - v4.3.11 Latest Release

Published by martinus over 1 year ago

Direct download: nanobench.h

What's Changed

New Contributors

Full Changelog: https://github.com/martinus/nanobench/compare/v4.3.10...v4.3.11

nanobench - v4.3.10

Published by martinus over 1 year ago

Direct download: nanobench.h

What's Changed

Full Changelog: https://github.com/martinus/nanobench/compare/v4.3.9...v4.3.10

nanobench - v4.3.9

Published by martinus almost 2 years ago

Direct download: nanobench.h

  • Fixed #80 - truncation warning for containers with 32bit index with Rng::shuffle

Full Changelog: https://github.com/martinus/nanobench/compare/v4.3.8...v4.3.9

nanobench - v4.3.8

Published by martinus almost 2 years ago

Direct download: nanobench.h

What's Changed

New Contributors

Full Changelog: https://github.com/martinus/nanobench/compare/v4.3.7...v4.3.8

nanobench - v4.3.7

Published by martinus over 2 years ago

Direct download: nanobench.h

  • Documentation updates
  • Raise minimum epoch time to 1ms

What's Changed

New Contributors

Full Changelog: https://github.com/martinus/nanobench/compare/v4.3.6...v4.3.7

nanobench - v4.3.6

Published by martinus about 3 years ago

Direct download: nanobench.h

  • linux: Check for kernel >= 3.14 to enable performance counters
  • added a few sanitizer suppressions
  • regenerated documentation with latest releases of sphinx etc.

What's Changed

New Contributors

Full Changelog: https://github.com/martinus/nanobench/compare/v4.3.5...v4.3.6

nanobench - v4.3.5

Published by martinus over 3 years ago

Direct download: nanobench.h

  • Undo incorrect "fix" for old linux headers. If compilation does not work with very old linux headers, define the macro ANKERL_NANOBENCH_DISABLE_PERF_COUNTERS.
nanobench - v4.3.4

Published by martinus over 3 years ago

Direct download: nanobench.h

  • Add missing sanitizer suppression to rotl
nanobench - v4.3.3

Published by martinus over 3 years ago

Direct download: nanobench.h

  • Do not use locale-dependent std::to_string
nanobench - v4.3.2

Published by martinus over 3 years ago

Direct download: nanobench.h

  • Fixed a MSVC 2015 build problem found by @eremyg-lunarg in robin-hood-hash. Thanks!
  • updates license to 2021.
  • Fix #52, build should now work with very old linux headers
  • Also disable UBSAN (bitcoin needed to add a suppression in https://github.com/bitcoin/bitcoin/pull/21738)
nanobench - v4.3.1

Published by martinus over 3 years ago

Direct download: nanobench.h

  • Minor cmake improvements when integrationg as a third-party library: add alias nanobench::nanobench, default to C++17

What's Changed

New Contributors

Full Changelog: https://github.com/martinus/nanobench/compare/v4.3.0...v4.3.1

nanobench - v4.3.0

Published by martinus about 4 years ago

Direct download: nanobench.h

  • ankerl::nanobench::Rng can now return the state with std::vector<uint64_t> Rng::state(), and this can also be used to initialize the Rng.
nanobench - v4.2.0

Published by martinus about 4 years ago

Direct download: nanobench.h

As of now, there is no open issue!

nanobench - v4.1.0

Published by martinus about 4 years ago

Direct download: nanobench.h

nanobench - v4.0.2

Published by martinus about 4 years ago

Direct download: nanobench.h

  • Changed doNotOptimizeAway to what google benchmark is doing. The old code did not work on some machines.
  • fix #37: display correct "total" value
  • minor Documentation updates
nanobench - v4.0.0

Published by martinus over 4 years ago

New major release! Direct download: nanobench.h

  • API has been revised to be simpler and more intuitive. This is unfortunately not downward compatible, but the changes should be easy to fix. Most importantly, use now ankerl::nanobench::Bench instead of ankerl::nanobench::Config.
  • Clock is now always the fastest available steady clock.
  • Lots, and lots of documentation updates! See https://nanobench.ankerl.com. The documentation is now generated with the examples in the code, thus it will stay up to date much easier.
  • Faster Rng
  • Faster compile time, thanks to analysis with ClangBuildAnalyzer
  • Improved mustache templates for JSON, CSV, and HTML templates
  • Lots new templating features, with ability to calculate stuff
  • Ability to specify exactly the number of iterations you want
  • Lots of small & larger bugfixes
nanobench - v3.1.0

Published by martinus almost 5 years ago

  • Added asymptotic complexity calculation feature
  • fixed division by zero
  • improved doNotOptimizeAway handling
  • better overhead estimation for more accurate instructions/op
  • fixed when to show headers when Config isn't reused
nanobench - v3.0.0

Published by martinus almost 5 years ago

  • Lots of stabilizing of performance counters
  • Improved markdown output
  • better default configuration for epochs, runtime
  • Better warnings & recommendations
  • CSV fixes
nanobench - v3.0.0-alpha

Published by martinus almost 5 years ago

This is an alpha release with Linux' Performance Counters support.

nanobench - v2.0.0

Published by martinus about 5 years ago

Where do I begin? Practically everything has changed

  • Now with mustache template support
  • better output
  • g++4.8 support
  • Compiles without warning for very strict compile settings