diff options
Diffstat (limited to 'test/benchmarks/lexer.cpp')
-rw-r--r-- | test/benchmarks/lexer.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/benchmarks/lexer.cpp b/test/benchmarks/lexer.cpp new file mode 100644 index 0000000..0f3151f --- /dev/null +++ b/test/benchmarks/lexer.cpp @@ -0,0 +1,25 @@ +#include <server/lexer/details/parse.hpp> + +#include <benchmark/benchmark.h> + +class SelectionOfNumbers : public benchmark::Fixture { +protected: + std::vector<std::string_view> m_numbers{ + "0", + "123", + "0.123", + ".123", + "1e9", + "1.87E-18", + "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", + }; +}; + +BENCHMARK_F(SelectionOfNumbers, ParseStdRegex)(benchmark::State &state) { + using namespace math::server::lexer::details; + for (auto _ : state) { + for (const auto& src : m_numbers) { + parse_number(src); + } + } +} |