X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=folly%2FBenchmark.h;h=025c795ca54c02a003361ec6b676413951b9e651;hb=4ae199e757d6a828bba2f5a4c56ce2b4d4ee57af;hp=01e8ffee4948a2065af44d25c782b845d24b8cbc;hpb=d4aacd244f21e76dce685365acc281a9015897c1;p=folly.git diff --git a/folly/Benchmark.h b/folly/Benchmark.h index 01e8ffee..025c795c 100644 --- a/folly/Benchmark.h +++ b/folly/Benchmark.h @@ -1,5 +1,5 @@ /* - * Copyright 2017 Facebook, Inc. + * Copyright 2012-present Facebook, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,6 +55,19 @@ namespace detail { using TimeIterPair = std::pair; +using BenchmarkFun = std::function; + +struct BenchmarkRegistration { + std::string file; + std::string name; + BenchmarkFun func; +}; + +struct BenchmarkResult { + std::string file; + std::string name; + double timeInNs; +}; /** * Adds a benchmark wrapped in a std::function. Only used @@ -280,6 +293,20 @@ auto makeUnpredictable(T& datum) -> typename std::enable_if< #endif +struct dynamic; + +void benchmarkResultsToDynamic( + const std::vector& data, + dynamic&); + +void benchmarkResultsFromDynamic( + const dynamic&, + std::vector&); + +void printResultComparison( + const std::vector& base, + const std::vector& test); + } // namespace folly /**