Go to the documentation of this file.
12 #include "util/util.h"
13 #include "util/flags.h"
14 #include "util/benchmark.h"
20 #define snprintf _snprintf
28 void Benchmark::Register() {
38 return std::chrono::duration_cast<std::chrono::nanoseconds>(
71 return static_cast<int>(std::thread::hardware_concurrency());
84 fprintf(
stderr,
"%s: missing function\n",
b->name);
113 while(
ns < (
int)1e9 &&
n < (
int)1e9) {
118 n = (
int)1e9 /
static_cast<int>(
ns/
n);
130 snprintf(mb,
sizeof mb,
"\t%7.2f MB/s", ((
double)
bytes/1e6)/((
double)
ns/1e9));
131 if(
b->fnr ||
b->lo !=
b->hi) {
133 snprintf(suf,
sizeof suf,
"/%dM", siz/(1<<20));
134 else if(siz >= (1<<10))
135 snprintf(suf,
sizeof suf,
"/%dK", siz/(1<<10));
137 snprintf(suf,
sizeof suf,
"/%d", siz);
139 printf(
"%s%s\t%8lld\t%10lld ns/op%s\n",
b->name, suf, (
long long)
n, (
long long)
ns/
n, mb);
143 static int match(
const char*
name,
int argc,
const char** argv) {
146 for(
int i = 1;
i < argc;
i++)
147 if(RE2::PartialMatch(
name, argv[
i]))
152 int main(
int argc,
const char** argv) {
155 if(
match(
b->name, argc, argv))
156 for(
int j =
b->threadlo; j <= b->threadhi; j++)
void StopBenchmarkTiming()
void SetBenchmarkItemsProcessed(int n)
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
void BenchmarkMemoryUsage()
void RunBench(Benchmark *b, int nthread, int siz)
static void runN(Benchmark *b, int n, int siz)
static int match(const char *name, int argc, const char **argv)
DEFINE_string(test_tmpdir, "/var/tmp", "temp directory")
void SetBenchmarkBytesProcessed(int64_t x)
int main(int argc, const char **argv)
void StartBenchmarkTiming()
def Benchmark(outbase, bench_cpu=True, runs=12, fasttable=False)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:46