Commit graph

55 commits

Author SHA1 Message Date
Eric Fiselier 9820035998 Whitespace change to trigger appveyor. 2016-08-07 16:31:43 -06:00
Marcin Kolny dfe0260754 Support multiple ranges in the benchmark (#257)
* Support multiple ranges in the benchmark

google-benchmark library allows to provide up to two ranges to the
benchmark method (range_x and range_y). However, in many cases it's not
sufficient. The patch introduces multi-range features, so user can easily
define multiple ranges by passing a vector of integers, and access values
through the method range(i).

* Remove redundant API

Functions State::range_x() and State::range_y() have been removed. They should
be replaced by State::range(0) and State::range(1).
Functions Benchmark::ArgPair() and Benchmark::RangePair() have been removed.
They should be replaced by Benchmark::Args() and Benchmark::Ranges().
2016-08-04 12:30:14 -07:00
Eric 5f5ca31ce0 Add RegisterBenchmark(name, func, args...) for creating/registering benchmarks. (#259)
* Add RegisterBenchmark

* fix test inputs

* fix UB caused by unitialized value

* Add RegisterBenchmark

* fix test inputs

* fix UB caused by unitialized value

* Work around GCC 4.6/4.7/4.8 bug
2016-08-02 16:22:46 -07:00
Eric Fiselier 44128d87d2 Add --benchmark_out=<filename> and --benchmark_out_format=<format> options.
These options allow you to write the output of a benchmark to the specified
file and with the specified format. The goal of this change is to help support
tooling.
2016-08-02 15:12:43 -06:00
Eric Fiselier 7e40ff9e35 Provide a better implementation of DoNotOptimize(...).
This implementation is less likely to ICE compilers, and is more correct.
It also acts as a memory barrier which will help prevent writes to global memory
from being optimized away.
2016-07-11 14:58:50 -06:00
Nick d147797aac Add state.SetComplexityN to docs. (#245)
Add `state.SetComplexityN(state.range_x());` to documentation so that complexity is calculated correctly.
2016-06-27 11:24:13 -07:00
Ryan 1d53e5e0d8 Clarified output formats (#241) 2016-06-20 09:15:09 -07:00
Ismael 240ba4e64e changed BigOFunc argument from size_t to int 2016-06-02 22:21:52 +02:00
Ismael 3ef6339971 Update Readme.md 2016-06-02 20:58:14 +02:00
Eric 238e558fdb Allow benchmarks to take arbitrary arguments. (#221)
* Add lambda benchmarks

* Remove lambda capture since the lambda is not at a block scope

* Remove LambdaBenchmark helper since FunctionBenchmark can be used with non-capturing lambas

* Add lambda benchmarks

* Remove lambda capture since the lambda is not at a block scope

* Remove LambdaBenchmark helper since FunctionBenchmark can be used with non-capturing lambas

* Add more docs for BENCHMARK_CAPTURE.

* Fix use of misnamed parameter

* Guard BENCHMARK_CAPTURE tests against non-c++11 compilers

* Move tests out of basic_test.cc
2016-05-27 12:37:10 -07:00
Dominic Hamon d6bc7e1581 Merge branch 'update_complexity' of git://github.com/ismaelJimenez/benchmark into ismaelJimenez-update_complexity 2016-05-26 14:01:28 -07:00
Ismael 90a8508063 Update Readme.md 2016-05-25 23:06:27 +02:00
Dominic Hamon 9686f1769e Merge branch 'skip_with_error' of git://github.com/efcs/benchmark into efcs-skip_with_error 2016-05-25 09:00:31 -07:00
Eric Fiselier 84bc4d703b Add a per benchmark 'Repetitions' option. 2016-05-24 21:52:23 -06:00
Eric Fiselier 924b8cee7a Reflow some wording. NFC 2016-05-24 15:21:41 -06:00
Eric Fiselier bdeb38718e merge 2016-05-24 15:01:07 -06:00
Dominic Hamon 2440b752fd Formatting updates 2016-05-24 13:26:32 -07:00
Eric Fiselier 90c9ab1d8e add doc 2016-05-23 20:35:09 -06:00
Ismael ac05c04533 refactor MinimalLEastSq 2016-05-23 20:12:54 +02:00
Ismael 07efafbf5c Update Readme 2016-05-21 16:34:12 +02:00
Ismael dc667d0486 Added asymptotic complexity to Readme 2016-05-21 12:40:27 +02:00
Ismael 5812d545ef Added range multiplier to Readme 2016-05-21 12:16:40 +02:00
Jussi Knuuttila e253a28402 Manual timing support. 2016-05-05 23:24:13 +03:00
Kai Wolf f352c30f1c Merge branch 'master' into feature/add-ms-time-report 2016-04-29 21:42:21 +02:00
Dominic Hamon d6f96ed639 Add section on iterations.
Also add some subheadings, and fix up the line lengths.

Fixes #194
2016-04-19 09:34:13 -07:00
Kai Wolf 0b4111c3b3 Refactor GetTimeUnitAndMultiplier and add example 2016-03-28 21:32:11 +02:00
Arkady Shapkin 8da907c2c2 Update README.md 2016-02-16 23:29:24 +03:00
Dominic Hamon 211f23ee13 Add section on optimisations to README 2016-02-14 09:28:10 -08:00
Eli Bendersky c7ab1b987b Update README to mention UseRealTime for wallclock time measurements.
Also adding a use case in the API header.

Fixes #170
2015-12-30 06:01:19 -08:00
Dominik Czarnota d2917bcded Fixes #165: CustomArguments ret type in README
* adds myself to AUTHORS/CONTRIBUTORS
2015-11-30 16:15:00 +01:00
Dominic Hamon 4499e8e415 Fixes #161 2015-11-05 09:53:08 -08:00
Dominic Hamon 559c71d840 Added IRC channel to README.md 2015-10-13 12:02:08 -07:00
Eli Bendersky f338ce7965 Fix doc sample typos in header and README
* iterations() is a method
* int64_t fix in a couple of places
2015-09-17 20:14:10 -07:00
Dominic Hamon d8c7605341 Update README.md 2015-05-12 11:32:44 -07:00
Dominic Hamon 375e66c825 Update README.md 2015-05-11 12:34:03 -07:00
Eric Fiselier 9ed538f511 address review comments 2015-04-06 17:56:05 -04:00
David Reynolds 30ae37b923 Fix typos: rangeY -> range_y() 2015-04-02 18:34:52 -07:00
Dominic Hamon 9934396e1f Add missing paranthesis and documentation 2015-04-01 10:51:37 -04:00
Eric Fiselier e428b9eec3 Add 'benchmark::DoNotOptimize(...)' to help users prevent optimizations 2015-03-27 16:35:46 -04:00
Eric Fiselier daa8a67aa5 add C++03 test and update README 2015-03-18 16:34:43 -04:00
Eric Fiselier ffb67dcabf address review comments 2015-03-17 18:42:41 -04:00
Dominic Hamon bdf4a5f4d2 Add reference to BENCHMARK_MAIN in README 2015-03-12 21:56:45 -07:00
Dominic Hamon fd7d288bbe Add section on linking to satisfy #67 2014-12-26 08:44:14 -08:00
Dominic Hamon 2aa2442024 Remove drone.io reference 2014-12-02 12:46:27 -08:00
Dominic Hamon d58d59588f Merge pull request #66 from 3Hren/master
Using Travis CI.
2014-11-14 14:19:16 -08:00
Evgeny Safronov 6f692460e7 Update readme.
Added Travis build status badge.
2014-11-14 11:11:45 +04:00
Dominic Hamon 4932b72b03 Fix example in README.md to compile.
Fixes #65
2014-11-13 13:06:28 -08:00
Paul Redmond 0ce150e1fc fix examples to use SetBytesProcessed
- use State::SetBytesProcessed not SetBenchmarkBytesProcessed
2014-07-23 13:42:04 -04:00
Chris Seymour 465cb09eb6 Update README.md
Switched to language specific markdown for code sections to provide syntax highlighting when rendered.
2014-02-09 19:45:17 +00:00
Oleksandr a278152117 Fix int64_t_t typo in README code example
Fixes a typo where the first type was written as int64_t_t with suffixing _t twice and the second type misses suffix at all.
2014-01-15 23:01:47 +02:00