mirror of
https://github.com/google/benchmark.git
synced 2024-12-27 13:00:36 +08:00
a9a66c85bb
* 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
55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
# People who have agreed to one of the CLAs and can contribute patches.
|
|
# The AUTHORS file lists the copyright holders; this file
|
|
# lists people. For example, Google employees are listed here
|
|
# but not in AUTHORS, because Google holds the copyright.
|
|
#
|
|
# Names should be added to this file only after verifying that
|
|
# the individual or the individual's organization has agreed to
|
|
# the appropriate Contributor License Agreement, found here:
|
|
#
|
|
# https://developers.google.com/open-source/cla/individual
|
|
# https://developers.google.com/open-source/cla/corporate
|
|
#
|
|
# The agreement for individuals can be filled out on the web.
|
|
#
|
|
# When adding J Random Contributor's name to this file,
|
|
# either J's name or J's organization's name should be
|
|
# added to the AUTHORS file, depending on whether the
|
|
# individual or corporate CLA was used.
|
|
#
|
|
# Names should be added to this file as:
|
|
# Name <email address>
|
|
#
|
|
# Please keep the list sorted.
|
|
|
|
Albert Pretorius <pretoalb@gmail.com>
|
|
Arne Beer <arne@twobeer.de>
|
|
Billy Robert O'Neal III <billy.oneal@gmail.com> <bion@microsoft.com>
|
|
Chris Kennelly <ckennelly@google.com> <ckennelly@ckennelly.com>
|
|
Christopher Seymour <chris.j.seymour@hotmail.com>
|
|
David Coeurjolly <david.coeurjolly@liris.cnrs.fr>
|
|
Dominic Hamon <dma@stripysock.com>
|
|
Eric Fiselier <eric@efcs.ca>
|
|
Eugene Zhuk <eugene.zhuk@gmail.com>
|
|
Evgeny Safronov <division494@gmail.com>
|
|
Felix Homann <linuxaudio@showlabor.de>
|
|
Ismael Jimenez Martinez <ismael.jimenez.martinez@gmail.com>
|
|
Joao Paulo Magalhaes <joaoppmagalhaes@gmail.com>
|
|
JianXiong Zhou <zhoujianxiong2@gmail.com>
|
|
Jussi Knuuttila <jussi.knuuttila@gmail.com>
|
|
Kaito Udagawa <umireon@gmail.com>
|
|
Kai Wolf <kai.wolf@gmail.com>
|
|
Lei Xu <eddyxu@gmail.com>
|
|
Matt Clarkson <mattyclarkson@gmail.com>
|
|
Nick Hutchinson <nshutchinson@gmail.com>
|
|
Oleksandr Sochka <sasha.sochka@gmail.com>
|
|
Pascal Leroy <phl@google.com>
|
|
Paul Redmond <paul.redmond@gmail.com>
|
|
Pierre Phaneuf <pphaneuf@google.com>
|
|
Radoslav Yovchev <radoslav.tm@gmail.com>
|
|
Shuo Chen <chenshuo@chenshuo.com>
|
|
Yusuke Suzuki <utatane.tea@gmail.com>
|
|
Tobias Ulvgård <tobias.ulvgard@dirac.se>
|
|
Zbigniew Skowron <zbychs@gmail.com>
|
|
Dominik Czarnota <dominik.b.czarnota@gmail.com>
|