Measure time more accurately

This commit is contained in:
John Keiser
2021-01-05 10:45:49 -08:00
parent cfff8a5ed5
commit dcd2e13aec
22 changed files with 33 additions and 32 deletions
+2 -2
View File
@@ -43,7 +43,7 @@ struct rapidjson : public rapidjson_base {
return rapidjson_base::run(doc.Parse<kParseValidateEncodingFlag>(json.data()), ids);
}
};
BENCHMARK_TEMPLATE(distinct_user_id, rapidjson);
BENCHMARK_TEMPLATE(distinct_user_id, rapidjson)->UseManualTime();
struct rapidjson_insitu : public rapidjson_base {
bool run(const padded_string &json, std::vector<uint64_t> &ids) {
@@ -51,7 +51,7 @@ struct rapidjson_insitu : public rapidjson_base {
return rapidjson_base::run(doc.ParseInsitu<kParseValidateEncodingFlag>(json_copy.data()), ids);
}
};
BENCHMARK_TEMPLATE(distinct_user_id, rapidjson_insitu);
BENCHMARK_TEMPLATE(distinct_user_id, rapidjson_insitu)->UseManualTime();
} // namespace partial_tweets
+1 -1
View File
@@ -29,7 +29,7 @@ struct simdjson_dom {
}
};
BENCHMARK_TEMPLATE(distinct_user_id, simdjson_dom);
BENCHMARK_TEMPLATE(distinct_user_id, simdjson_dom)->UseManualTime();
} // namespace distinct_user_id
@@ -31,7 +31,7 @@ struct simdjson_ondemand {
}
};
BENCHMARK_TEMPLATE(distinct_user_id, simdjson_ondemand);
BENCHMARK_TEMPLATE(distinct_user_id, simdjson_ondemand)->UseManualTime();
} // namespace distinct_user_id
+1 -1
View File
@@ -43,7 +43,7 @@ struct yyjson {
};
BENCHMARK_TEMPLATE(distinct_user_id, yyjson);
BENCHMARK_TEMPLATE(distinct_user_id, yyjson)->UseManualTime();
} // namespace distinct_user_id
+2 -2
View File
@@ -36,7 +36,7 @@ struct rapidjson : public rapidjson_base {
return rapidjson_base::run(doc.Parse<kParseValidateEncodingFlag>(json.data()), find_id, text);
}
};
BENCHMARK_TEMPLATE(find_tweet, rapidjson);
BENCHMARK_TEMPLATE(find_tweet, rapidjson)->UseManualTime();
struct rapidjson_insitu : public rapidjson_base {
bool run(const padded_string &json, uint64_t find_id, std::string_view &text) {
@@ -44,7 +44,7 @@ struct rapidjson_insitu : public rapidjson_base {
return rapidjson_base::run(doc.ParseInsitu<kParseValidateEncodingFlag>(json_copy.data()), find_id, text);
}
};
BENCHMARK_TEMPLATE(find_tweet, rapidjson_insitu);
BENCHMARK_TEMPLATE(find_tweet, rapidjson_insitu)->UseManualTime();
} // namespace partial_tweets
+1 -1
View File
@@ -24,7 +24,7 @@ struct simdjson_dom {
}
};
BENCHMARK_TEMPLATE(find_tweet, simdjson_dom);
BENCHMARK_TEMPLATE(find_tweet, simdjson_dom)->UseManualTime();
} // namespace find_tweet
+1 -1
View File
@@ -25,7 +25,7 @@ struct simdjson_ondemand {
}
};
BENCHMARK_TEMPLATE(find_tweet, simdjson_ondemand);
BENCHMARK_TEMPLATE(find_tweet, simdjson_ondemand)->UseManualTime();
} // namespace find_tweet
+1 -1
View File
@@ -33,7 +33,7 @@ struct yyjson {
}
};
BENCHMARK_TEMPLATE(find_tweet, yyjson);
BENCHMARK_TEMPLATE(find_tweet, yyjson)->UseManualTime();
} // namespace find_tweet
@@ -37,7 +37,9 @@ template<typename B, typename R> static void run_json_benchmark(benchmark::State
if (!bench.before_run(state)) { state.SkipWithError("before_run failed"); };
collector.start();
if (!bench.run(state)) { state.SkipWithError("run failed"); return; }
events << collector.end();
auto event = collector.end();
events << event;
state.SetIterationTime(event.elapsed_sec());
if (!bench.after_run(state)) { state.SkipWithError("after_run failed"); return; };
}
+3 -3
View File
@@ -38,14 +38,14 @@ struct rapidjson : public rapidjson_base {
return rapidjson_base::run(doc.Parse<kParseValidateEncodingFlag>(json.data()), points);
}
};
BENCHMARK_TEMPLATE(kostya, rapidjson);
BENCHMARK_TEMPLATE(kostya, rapidjson)->UseManualTime();
struct rapidjson_lossless : public rapidjson_base {
bool run(const padded_string &json, std::vector<point> &points) {
return rapidjson_base::run(doc.Parse<kParseValidateEncodingFlag | kParseFullPrecisionFlag>(json.data()), points);
}
};
BENCHMARK_TEMPLATE(kostya, rapidjson_lossless);
BENCHMARK_TEMPLATE(kostya, rapidjson_lossless)->UseManualTime();
struct rapidjson_insitu : public rapidjson_base {
bool run(const padded_string &json, std::vector<point> &points) {
@@ -53,7 +53,7 @@ struct rapidjson_insitu : public rapidjson_base {
return rapidjson_base::run(doc.ParseInsitu<kParseValidateEncodingFlag>(json_copy.data()), points);
}
};
BENCHMARK_TEMPLATE(kostya, rapidjson_insitu);
BENCHMARK_TEMPLATE(kostya, rapidjson_insitu)->UseManualTime();
} // namespace kostya
+1 -1
View File
@@ -19,7 +19,7 @@ struct simdjson_dom {
}
};
BENCHMARK_TEMPLATE(kostya, simdjson_dom);
BENCHMARK_TEMPLATE(kostya, simdjson_dom)->UseManualTime();
} // namespace kostya
+1 -1
View File
@@ -21,7 +21,7 @@ struct simdjson_ondemand {
}
};
BENCHMARK_TEMPLATE(kostya, simdjson_ondemand);
BENCHMARK_TEMPLATE(kostya, simdjson_ondemand)->UseManualTime();
} // namespace kostya
+1 -1
View File
@@ -44,7 +44,7 @@ struct yyjson {
};
BENCHMARK_TEMPLATE(kostya, yyjson);
BENCHMARK_TEMPLATE(kostya, yyjson)->UseManualTime();
} // namespace kostya
+3 -3
View File
@@ -35,14 +35,14 @@ struct rapidjson : public rapidjson_base {
return rapidjson_base::run(doc.Parse<kParseValidateEncodingFlag>(json.data()), points);
}
};
BENCHMARK_TEMPLATE(large_random, rapidjson);
BENCHMARK_TEMPLATE(large_random, rapidjson)->UseManualTime();
struct rapidjson_lossless : public rapidjson_base {
bool run(const simdjson::padded_string &json, std::vector<point> &points) {
return rapidjson_base::run(doc.Parse<kParseValidateEncodingFlag | kParseFullPrecisionFlag>(json.data()), points);
}
};
BENCHMARK_TEMPLATE(large_random, rapidjson_lossless);
BENCHMARK_TEMPLATE(large_random, rapidjson_lossless)->UseManualTime();
struct rapidjson_insitu : public rapidjson_base {
bool run(const simdjson::padded_string &json, std::vector<point> &points) {
@@ -50,7 +50,7 @@ struct rapidjson_insitu : public rapidjson_base {
return rapidjson_base::run(doc.ParseInsitu<kParseValidateEncodingFlag>(json_copy.data()), points);
}
};
BENCHMARK_TEMPLATE(large_random, rapidjson_insitu);
BENCHMARK_TEMPLATE(large_random, rapidjson_insitu)->UseManualTime();
} // namespace large_random
+1 -1
View File
@@ -19,7 +19,7 @@ struct simdjson_dom {
}
};
BENCHMARK_TEMPLATE(large_random, simdjson_dom);
BENCHMARK_TEMPLATE(large_random, simdjson_dom)->UseManualTime();
} // namespace large_random
+1 -1
View File
@@ -21,7 +21,7 @@ struct simdjson_ondemand {
}
};
BENCHMARK_TEMPLATE(large_random, simdjson_ondemand);
BENCHMARK_TEMPLATE(large_random, simdjson_ondemand)->UseManualTime();
} // namespace large_random
@@ -21,7 +21,7 @@ struct simdjson_ondemand_unordered {
}
};
BENCHMARK_TEMPLATE(large_random, simdjson_ondemand_unordered);
BENCHMARK_TEMPLATE(large_random, simdjson_ondemand_unordered)->UseManualTime();
} // namespace large_random
+1 -1
View File
@@ -41,7 +41,7 @@ struct yyjson {
}
};
BENCHMARK_TEMPLATE(large_random, yyjson);
BENCHMARK_TEMPLATE(large_random, yyjson)->UseManualTime();
} // namespace large_random
+4 -5
View File
@@ -64,16 +64,15 @@ struct rapidjson : public rapidjson_base {
return rapidjson_base::run(doc.Parse<kParseValidateEncodingFlag>(json.data()), tweets);
}
};
BENCHMARK_TEMPLATE(partial_tweets, rapidjson);
BENCHMARK_TEMPLATE(partial_tweets, rapidjson)->UseManualTime();
// TODO this fails!
// struct rapidjson_insitu : public rapidjson_base {
// bool run(const padded_string &json, std::vector<tweet> &tweets) {
// padded_string json_copy{json.data(), json.size()};
// return rapidjson_base::run(doc.ParseInsitu<kParseValidateEncodingFlag>(json_copy.data()), tweets);
// bool run(simdjson::padded_string &json, std::vector<tweet> &tweets) {
// return rapidjson_base::run(doc.ParseInsitu<kParseValidateEncodingFlag>(json.data()), tweets);
// }
// };
// BENCHMARK_TEMPLATE(partial_tweets, rapidjson_insitu);
// BENCHMARK_TEMPLATE(partial_tweets, rapidjson_insitu)->UseManualTime();
} // namespace partial_tweets
+1 -1
View File
@@ -34,7 +34,7 @@ struct simdjson_dom {
}
};
BENCHMARK_TEMPLATE(partial_tweets, simdjson_dom);
BENCHMARK_TEMPLATE(partial_tweets, simdjson_dom)->UseManualTime();
} // namespace partial_tweets
+1 -1
View File
@@ -40,7 +40,7 @@ struct simdjson_ondemand {
}
};
BENCHMARK_TEMPLATE(partial_tweets, simdjson_ondemand);
BENCHMARK_TEMPLATE(partial_tweets, simdjson_ondemand)->UseManualTime();
} // namespace partial_tweets
+1 -1
View File
@@ -59,7 +59,7 @@ struct yyjson {
}
};
BENCHMARK_TEMPLATE(partial_tweets, yyjson);
BENCHMARK_TEMPLATE(partial_tweets, yyjson)->UseManualTime();
} // namespace partial_tweets