This file lists the major changes between versions. For a more detailed list of every change, see the Git log.
- tbd
- Major: Upgrade to boost 4
- Major: Upgrade to tables 8
- Minor: Added a test for specifying options using BENCHMARK_OPTION.
- Major: Replaced boost::chrono references with std::chrono.
- Minor: Add the prepare_table(...) function to allow benchmarks to create their needed result columns in advance. The allocation of new columns during the benchmark can disrupt the performance measurements.
- Patch: Reserve runs in result table.
- Patch: Added virtual constructor to printer.
- Minor: Added a CPU warm-up time before starting first benchmark to avoid unfavorable results for the first few benchmarks. The time interval can be controlled by the
--warmup_time
option.
- Major: Upgrade to waf-tools 4
- Major: Upgrade to boost 3
- Major: Upgrade to tables 7
- Minor: Upgrade to gtest 4
- Major: Upgrade to waf-tools 3
- Major: Upgrade to boost 2
- Major: Upgrade to tables 6
- Minor: Upgrade to gtest 3
- Minor: Added buildbot.py for coverage reports.
- Minor: Adding a way to skip a benchmark at run-time. An example use-case for this is benchmarking run-time dispatched CPU specific instructions e.g. SSE, AVX etc.
- Patch: Fixed warnings in using_options.cpp.
- Patch: Added the proper use flags for all targets
- Major: Updated the benchmark macros. There are now three variants to choose from when declaring a benchmark. This introduced one breaking change: The BENCHMARK_F macro has been renamed to BENCHMARK_F_INLINE. You should now use BENCHMARK_F if your fixture has a test_body() function that you want to run automatically. See gauge.hpp for a description of the different macros.
- Patch: Fix version define.
- Major: Upgrade to tables 5.x.y
- Major: Made single argument constructors explicit
- Minor: Fixed style issues
- Minor: Update to waf 1.8.0-pre1
- Minor: Made python files comply with pep8
- Minor: Added command line options to print testcases and benchmarks.
- Minor: Added version.
- Minor: Added newlines to the
stdout_printer
's output.
- Major: Removed unused
commandline_arguments
class. - Major: Removed vector separator options form
csv_printer
as it was unused. - Minor: Added
dry_run
option to execute the benchmark initialization code without running the actual benchmark. - Minor: Added
use_[printer_name]
option to enable or disable certain printers. - Minor: Added
stdout_printer
which is a printer that can print results in a specified format to standard output. - Bug: If an exception occurred, gauge now returns an appropriate error code.
- Minor: Added a convenience function add_default_printers() to the gauge runner. This enables most common printers in a project.
- Minor: runner::run now catches all exceptions. The API has been extended with runner::run_unsafe which doesn't catch exceptions.
- Bug: Removed configuration information from the result table.
- Minor: Improved filter options for benchmark testing purposes.
- Major: Started using tables version 4.
- Major: Extracted tables and related logic to its own repository.
- Minor: The python- and CSV-printers can now take the default output filename as a parameter.
- Minor: Eased use of python output file.
- Minor: Improved filtering options for filtering benchmarks and results.
- Bug: Fix file printers so that they correctly detect the end of all benchmarks.
- Minor: Adding time-stamping to the console printer to give an overview of the time spent in every step.
- Minor: Added the option to control the CSV printer's value separator, the default is comma however this can now be changed command-line.
- Minor: Cleanup
- Minor: Update waf to version 1.7.10 and use the wurf_install_path tool.
- Minor: Updated to waf-tools version 2.x.y
- Minor: Added CSV (comma separated values) printer.
- Major: Changed the benchmark interface. Implementers of new benchmarks may now register several measurement results in a single run. The new benchmark also supports specifying custom benchmark options (available on the command-line).
- Minor: The benchmark fixtures are now only allocated when needed and destroyed after completing a benchmark. This releases resources allocated by previous benchmarks.
- Minor: Added a number of unit-test for testing gauge itself.
- Updated waf to use new external waf tools repository
- Switched to mkspec enabled builds
- Using .hpp extension instead of .h
- Initial release
- Tested on Linux, Mac and Windows