diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2020-01-06 16:50:57 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2020-01-06 16:50:57 +0300 |
commit | 2a9865d93c91c2c1d0e2f68c8783aaf08f1dd2c5 (patch) | |
tree | 70d7baa3d888c5035e2e362e287fc5a8c8916bd9 /test/benchmarks | |
parent | lexer: fix GCC build errors (diff) | |
download | math-server-2a9865d93c91c2c1d0e2f68c8783aaf08f1dd2c5.tar.gz math-server-2a9865d93c91c2c1d0e2f68c8783aaf08f1dd2c5.zip |
test: add a comment for the benchmarks
Diffstat (limited to 'test/benchmarks')
-rw-r--r-- | test/benchmarks/lexer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/benchmarks/lexer.cpp b/test/benchmarks/lexer.cpp index 3eb895c..5475c82 100644 --- a/test/benchmarks/lexer.cpp +++ b/test/benchmarks/lexer.cpp @@ -2,6 +2,16 @@ #include <benchmark/benchmark.h> +#include <string_view> +#include <vector> + +// I noticed std::regex_search cropping up in profiling results. +// Switching to boost::regex_search yielded a huge benefit: sometimes a 15x +// increase in regex matching (on VS builds in particular). +// Should be easily reproducible using these micro-benchmarks. + +namespace { + class NumberExamples : public benchmark::Fixture { protected: std::vector<std::string_view> m_numbers{ @@ -24,6 +34,8 @@ protected: }; }; +} + BENCHMARK_F(NumberExamples, StdParseNumber)(benchmark::State& state) { using namespace math::server::lexer::details; for (auto _ : state) { |