Add "short append" benchmark to fbstring benchmark suite.
authorJeremy Lilley <jeremyl@fb.com>
Thu, 9 Aug 2012 16:57:22 +0000 (09:57 -0700)
committerTudor Bosman <tudorb@fb.com>
Sun, 26 Aug 2012 18:12:13 +0000 (11:12 -0700)
Summary:
Appending many small strings to fbstring appears much slower (~3x) vs.
std::string. Adding benchmark case to illustrate.

[If this isn't wanted, I can revert]

Test Plan: This is a benchmark.

Reviewed By: soren@fb.com

FB internal diff: D544159

folly/test/FBStringTestBenchmarks.cpp.h

index 15ddc6509449972b3e1a13eef1838e4cee1662d6..1e29ed29e60bf93ae1bc6c9cb9b4b19085e507df 100644 (file)
@@ -222,3 +222,14 @@ BENCHMARK_PARAM(BENCHFUN(push_back), 1);
 BENCHMARK_PARAM(BENCHFUN(push_back), 23);
 BENCHMARK_PARAM(BENCHFUN(push_back), 127);
 BENCHMARK_PARAM(BENCHFUN(push_back), 1024);
+
+void BENCHFUN(short_append)(int iters, int arg) {
+  FOR_EACH_RANGE (i, 0, iters) {
+    STRING s;
+    FOR_EACH_RANGE (j, 0, arg) {
+      s += "012";
+    }
+  }
+}
+BENCHMARK_PARAM(BENCHFUN(short_append), 23);
+BENCHMARK_PARAM(BENCHFUN(short_append), 1024);