15 #include "absl/strings/escaping.h"
21 #include "benchmark/benchmark.h"
22 #include "absl/base/internal/raw_logging.h"
23 #include "absl/strings/internal/escaping_test_common.h"
29 for (
int i = 0;
i < 50;
i++) {
41 for (
int i = 0;
i < 10; ++
i) {
63 const char kStringValueNoEscape[] =
"1234567890";
64 const char kStringValueSomeEscaped[] =
"123\n56789\xA1";
65 const char kStringValueMostEscaped[] =
"\xA1\xA2\ny\xA4\xA5\xA6z\b\r";
70 while (src.size() < max_len) {
80 CEscapeBenchmarkHelper(
state, kStringValueNoEscape,
state.range(0));
82 BENCHMARK(BM_CEscape_NoEscape)->Range(1, 1 << 14);
85 CEscapeBenchmarkHelper(
state, kStringValueSomeEscaped,
state.range(0));
87 BENCHMARK(BM_CEscape_SomeEscaped)->Range(1, 1 << 14);
90 CEscapeBenchmarkHelper(
state, kStringValueMostEscaped,
state.range(0));
92 BENCHMARK(BM_CEscape_MostEscaped)->Range(1, 1 << 14);