+BENCHMARK(skip_overhead, iter) {
+ auto prev = FLAGS_minloglevel;
+ FLAGS_minloglevel = 2;
+
+ for (unsigned i = 0; i < iter; ++i) {
+ FB_LOG_EVERY_MS(INFO, 1000) << "every 1s";
+ }
+
+ FLAGS_minloglevel = prev;
+}
+
+BENCHMARK(dev_null_log_overhead, iter) {
+ auto prev = FLAGS_minloglevel;
+ FLAGS_minloglevel = 2;
+
+ for (unsigned i = 0; i < iter; ++i) {
+ FB_LOG_EVERY_MS(INFO, -1) << "every -1ms";
+ }
+
+ FLAGS_minloglevel = prev;
+}
+
+// ============================================================================
+// folly/test/LoggingTest.cpp relative time/iter iters/s
+// ============================================================================
+// skip_overhead 36.37ns 27.49M
+// dev_null_log_overhead 2.61us 382.57K
+// ============================================================================
+