History log of /external/google-benchmark/src/json_reporter.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
11dc36822b2aaccb51bb1c75dbd43d2026b23cf6 26-Nov-2017 Eric <eric@efcs.ca> Improve CPU Cache info reporting -- Add Windows support. (#486)

* Improve CPU Cache info reporting -- Add Windows support.

This patch does a couple of thing regarding CPU Cache reporting.

First, it adds an implementation on Windows. Second it fixes
the JSONReporter to correctly (and actually) output the CPU
configuration information.

And finally, third, it detects and reports the number of
physical CPU's that share the same cache.
/external/google-benchmark/src/json_reporter.cc
27e0b439cf0f9be329f617056795b4e5c3612f34 22-Nov-2017 Eric <eric@efcs.ca> Refactor System information collection -- Add CPU Cache Info (#483)

* Refactor System information collection.

This patch refactors the system information collection,
and in particular information about the target CPU. The
motivation is to make it easier to access CPU information,
and easier to add new information as need be.

This patch additionally adds information about the cache
sizes of the CPU.

* Address review comments: Clean up integer types.

This commit cleans up the integer types used in ValueUnion to
follow the Google style guide.

Additionally it adds a BENCHMARK_UNREACHABLE macro to assist
in documenting/catching unreachable code paths.

* Rename ValueUnion accessors.
/external/google-benchmark/src/json_reporter.cc
b9be142d1e2dbc06cf2efd44919f6c422c43cddb 25-Jul-2017 Roman Lebedev <lebedev.ri@gmail.com> Json reporter: don't cast floating-point to int; adjust tooling (#426)

* Json reporter: passthrough fp, don't cast it to int; adjust tooling

Json output format is generally meant for further processing
using some automated tools. Thus, it makes sense not to
intentionally limit the precision of the values contained
in the report.

As it can be seen, FormatKV() for doubles, used %.2f format,
which was meant to preserve at least some of the precision.
However, before that function is ever called, the doubles
were already cast to the integer via RoundDouble()...

This is also the case for console reporter, where it makes
sense because the screen space is limited, and this reporter,
however the CSV reporter does output some( decimal digits.

Thus i can only conclude that the loss of the precision
was not really considered, so i have decided to adjust the
code of the json reporter to output the full fp precision.

There can be several reasons why that is the right thing
to do, the bigger the time_unit used, the greater the
precision loss, so i'd say any sort of further processing
(like e.g. tools/compare_bench.py does) is best done
on the values with most precision.

Also, that cast skewed the data away from zero, which
i think may or may not result in false- positives/negatives
in the output of tools/compare_bench.py

* Json reporter: FormatKV(double): address review note

* tools/gbench/report.py: skip benchmarks with different time units

While it may be useful to teach it to operate on the
measurements with different time units, which is now
possible since floats are stored, and not the integers,
but for now at least doing such a sanity-checking
is better than providing misinformation.
/external/google-benchmark/src/json_reporter.cc
9d4b719daeda35acf3a3d81b9ac1f38fc13333d1 05-Jul-2017 Eric <eric@efcs.ca> Make Benchmark a single header library (but not header-only) (#407)

* Make Benchmark a single header library (but not header-only)

This patch refactors benchmark into a single header, to allow
for slightly easier usage.

The initial reason for the header split was to keep C++ library
components from being included by benchmark_api.h, making that
part of the library STL agnostic. However this has since changed
and there seems to be little reason to separate the reporters from
the rest of the library.

* Fix internal_macros.h

* Remove more references to macros.h
/external/google-benchmark/src/json_reporter.cc
a9a66c85bbfda1d744c267c5e5aa073ef3d1c1d5 02-Mar-2017 jpmag <dev@jpmag.me> Add user-defined counters. (#262)

* Added user counters, and move use of bytes_processed and items_processed to user counter logic.

Each counter is a string-value pair. The counters were
made available through the State class. Two helper virtual
methods were added to the Fixture class to allow convenient
initialization and termination of the counters: InitState()
and TerminateState(). The reporting of the counters is buggy
and is still a work in progress, to be completed in the next commits.

* fix bad removal of BenchmarkCounters code during the merge

* add myself to AUTHORS/CONTRIBUTORS

* fix printing to std::cout in csv_reporter

* bytes_per_second and items_per_second are now in the UserCounters class

* add user counters to json reporter

* moving bytes_per_second and items_per_second to their old state

* console reporter dealing ok with user counters.

* update unit tests for user counters

* CSVReporter now prints user counters too.

* cleanup user counters

* reverted changes to cmake files which should have gone into later commits

* fixture_test: fix gcc 4.6 compilation

* remove ctor with default argument

see https://github.com/google/benchmark/pull/262#discussion_r72298055

* use (auto-defined) BENCHMARK_HAS_CXX11 instead of BENCHMARK_INITLIST.

https://github.com/google/benchmark/pull/262#discussion_r72298310

* leanify counters API

Discussions:
API complexity: https://github.com/google/benchmark/pull/262#discussion_r72298731
remove std::string dependency (WIP): https://github.com/google/benchmark/pull/262#discussion_r72298142
spacing & alignment: https://github.com/google/benchmark/pull/262#discussion_r72298422

* remove std::string dependency on public API - changed counter name storage to char*

* Counter ctor: use overloads instead of default arguments

discussion:
https://github.com/google/benchmark/pull/262#discussion_r72298055

* Use raw pointers to remove dependency on std::vector from public API .

For more info, see discussion at https://github.com/google/benchmark/pull/262#discussion_r72319678 .

* Move counter implementation from benchmark.cc to counter.cc.

See discussion: https://github.com/google/benchmark/pull/262#discussion_r72298980 .

* Remove unused (commented-out) code.

* Moved thread counters to ThreadStats.

* Counters: fixed copy and move constructors.

* Counter: use an inplace buffer for small names.

* benchmark_test: move counters test out of CXX11 preprocessor conditional.

* Counter: fix VS2013 compilation error in char[] initialization.

* Fix typo.

* Expose counters from State.

See discussion: https://github.com/google/benchmark/pull/262#issuecomment-237156951

* Changed counters interface to map-like.

* Fix printing of user counters in ConsoleReporter.

* Applied clang-format to counter.cc and console_reporter.cc.

Command was `clang-format -style=Google -i counter.cc console_reporter.cc`
I also applied to all other files, but the changes were very
far-reaching so I rolled those back.

* Rename Counter::Flags_e to Counter::Flags

* Fix use of reserved names in Counter and BenchmarkCounters.

* Counter: Fix move ctor bug + change order of members.

* Fixture: remove tentative methods InitState() and TerminateState().

* Update fixture_test to the new Fixture interface.

* BenchmarkCounters: fixed a bug in the move ctor. Remove call to CHECK_LT().

CHECK_LT() was making the size_t lookup take ~double the time of a string lookup!

* BenchmarkCounters: add option to not print zero counters (defaults to false).

* Add test to compare counter storage and access with std::map.

* README: clarify cost of counter access modes.

* move counter access test to an own test.

* BenchmarkCounters: add move Insert()

* Counters access test: add accelerated lookup by name.

* Fix old range syntax.

* Fix missing include of cstdio

* Fix Visual Studio warning

* VS2013 and lower: fix use of snprintf()

* VS2013: fix use of char[] as a member of std::pair<>.

* change counter storage to std::map

* Remove skipZeroCounters logic

* Fix VS compilation error.

* Implemented request changes to PR #262.

* PR #262: More requested changes.

* README: cleanup counter text.

* PR #262: remove clang-format changes for preexisting code

* Complexity+Counters: fix counter flags which were being ignored.

* Document all Counter::Flag members

* fixed loss of counter values

* ConsoleReporter: remove tabular printing of user counters.

* ConsoleReporter: header printing should not be contingent on user counter names.

* Minor white space and alignment fixes.

* cxx03_test + counters: reuse the BM_empty() function.

* user counters: add note to README on how counters are gathered across threads
/external/google-benchmark/src/json_reporter.cc
36a251ab3ee4e6dc668129e0ef5fa62b1b8d5d49 08-Oct-2016 Eric Fiselier <eric@efcs.ca> Fix #300. Emit RMS as a float not a percentage in JSON
/external/google-benchmark/src/json_reporter.cc
332f677b8bec401641a2743ab5d741c13cc6811d 07-Oct-2016 Dominic Hamon <dominichamon@users.noreply.github.com> Apply clang-format to all headers and source (#303)
/external/google-benchmark/src/json_reporter.cc
cba945e37dd8f336c7c8f5367f3c7d9498d5e09b 03-Sep-2016 Eric <eric@efcs.ca> Make `PauseTiming()` and `ResumeTiming()` per thread. (#286)

* Change to using per-thread timers

* fix bad assertions

* fix copy paste error on windows

* Fix thread safety annotations

* Make null-log thread safe

* remove remaining globals

* use chrono for walltime since it is thread safe

* consolidate timer functions

* Add missing ctime include

* Rename to be consistent with Google style

* Format patch using clang-format

* cleanup -Wthread-safety configuration

* Don't trust _POSIX_FEATURE macros because OS X lies.

* Fix OS X thread timings

* attempt to fix mingw build

* Attempt to make mingw work again

* Revert old mingw workaround

* improve diagnostics

* Drastically improve OS X measurements

* Use average real time instead of max
/external/google-benchmark/src/json_reporter.cc
22cb9d9ce0ff12219f5ca6c4a28124d11730e66f 02-Jun-2016 Ismael <ijimenezm@hotmail.es> google formated
/external/google-benchmark/src/json_reporter.cc
11e304355492670709c60e6d39eb42fc01fd878a 02-Jun-2016 Ismael <ijimenezm@hotmail.es> checked format before pull request
/external/google-benchmark/src/json_reporter.cc
867f9145a0a45f8b993cec8b48309c19391acaa0 01-Jun-2016 Ismael <ijimenezm@hotmail.es> added lambdas to complexity report
/external/google-benchmark/src/json_reporter.cc
1b263fe6d906bb0854b84247f1b395bbacd3b88e 28-May-2016 Eric <eric@efcs.ca> Cleanup reporters (#226)

* Move ComputeStats call out of the reporters

* Cleanup adjusted time calculations in reporters

* Move ComputeBigO call out of reporters

* Remove ReportComplexity interface using ReportRuns instead

* Factor out reporting of basic context information

* Attempt to fix GCC 4.6 build errors

* Move ComputeStats to complexity.cc
/external/google-benchmark/src/json_reporter.cc
5686bf1b38f8aa713267097d7c1944140f71b5d3 27-May-2016 Eric <eric@efcs.ca> Change reporters to use a specified output and error stream. Add tests for output. (#219)

* Add test for reporter output.

* setup err_stream tests

* Fix warnings in tests

* whitespace

* Fix build errors caused by super pedantic compilers

* Pass streams by pointer not non-const reference
/external/google-benchmark/src/json_reporter.cc
6f84ffcd8b53b035fe4430070dbca19641892def 25-May-2016 Eric Fiselier <eric@efcs.ca> fix another bad merge
/external/google-benchmark/src/json_reporter.cc
525858e68797d053ab4c859528164974978162ba 24-May-2016 Eric Fiselier <eric@efcs.ca> Fix error-handling in reporters
/external/google-benchmark/src/json_reporter.cc
bdeb38718e23468613c000463e7e42e3b5516b23 24-May-2016 Eric Fiselier <eric@efcs.ca> merge
2440b752fd335d00349b6dd77d67e5a6401565fb 24-May-2016 Dominic Hamon <dominic@google.com> Formatting updates
/external/google-benchmark/src/json_reporter.cc
43017f8b1510a50855e6b0ea145a534d3d754068 24-May-2016 Eric Fiselier <eric@efcs.ca> Add SkipWithError(...) function.
/external/google-benchmark/src/json_reporter.cc
266b3bd635a37b28d6e92125c615d3e17f5022ea 23-May-2016 Ismael <ijimenezm@hotmail.es> changed color and remove iterations
/external/google-benchmark/src/json_reporter.cc
ac05c045335d3e32ec75e3aae930ecc1c6533212 23-May-2016 Ismael <ijimenezm@hotmail.es> refactor MinimalLEastSq
/external/google-benchmark/src/json_reporter.cc
5f9823bd92b2a24da06fac7b43f6658ec20cc901 23-May-2016 Ismael <ijimenezm@hotmail.es> fixed non-const reference arguments
/external/google-benchmark/src/json_reporter.cc
2e5c397b4829503a5cb023ac67d2a1f13ebda3aa 21-May-2016 Ismael <ijimenezm@hotmail.es> implemented complexity reporting
/external/google-benchmark/src/json_reporter.cc
b73dc22944cb933289bbdbf5bb6616dbfc50168f 18-May-2016 Ismael <ijimenezm@hotmail.es> implemented Complexity for O(1)
/external/google-benchmark/src/json_reporter.cc
1203b3cbe47ad772291fe520efb2a029687229ed 30-Mar-2016 Kai Wolf <kai.wolf@gmail.com> Fix missing <tuple> header in csv/json_reporter
/external/google-benchmark/src/json_reporter.cc
e6d62fd135d7c1c621ff3b25056bd5ea4d1754ec 29-Mar-2016 Kai Wolf <kai.wolf@gmail.com> Add GetTimeAndMultiplier to json and csv reporter as well
/external/google-benchmark/src/json_reporter.cc
11042c7fe7ae4b6c4e5653db2639d6551fee9b7d 25-Sep-2015 Jean-Louis Leroy <jleroy9@bloomberg.net> Remove unused FormatKV(..., size_t) overload.
/external/google-benchmark/src/json_reporter.cc
25e46848f9d584261d5960ce9394a565f58aa070 31-Mar-2015 Dominic Hamon <dominic@google.com> Clarify build type warning
/external/google-benchmark/src/json_reporter.cc
a3308c6d86f3ab9446d9cb93ab1c77131b84a55a 26-Mar-2015 Eric Fiselier <eric@efcs.ca> Introduce use of std::chrono and remove Walltime printing
/external/google-benchmark/src/json_reporter.cc
92fc9b99b2b921988e2be847f5d5b967127c58d2 18-Mar-2015 Eric Fiselier <eric@efcs.ca> Add newline after every benchmark to improve readability of the json output.
/external/google-benchmark/src/json_reporter.cc
6429348e0d986315d95a0582eb8f57a6a4488ac1 18-Mar-2015 Eric Fiselier <eric@efcs.ca> address review comments and fix array type declaration
/external/google-benchmark/src/json_reporter.cc