diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt index de1acb8..db72b09 100644 --- a/benchmark/CMakeLists.txt +++ b/benchmark/CMakeLists.txt @@ -4,6 +4,8 @@ add_executable(YYCCBenchmark "") target_sources(YYCCBenchmark PRIVATE main.cpp + + yycc/string/op.cpp ) # target_sources(YYCCBenchmark # PRIVATE diff --git a/benchmark/main.cpp b/benchmark/main.cpp index 1334cc9..71fefa0 100644 --- a/benchmark/main.cpp +++ b/benchmark/main.cpp @@ -1,4 +1,3 @@ +#include -int main(int argc, char* argv[]) { - return 0; -} +BENCHMARK_MAIN(); diff --git a/benchmark/yycc/string/op.cpp b/benchmark/yycc/string/op.cpp new file mode 100644 index 0000000..f3b2cff --- /dev/null +++ b/benchmark/yycc/string/op.cpp @@ -0,0 +1,18 @@ +#include +#include +#include + +#define OP ::yycc::string::op +using namespace std::literals::string_view_literals; + +namespace yyccbench::string::op { + + static void StringStrip(benchmark::State& state) { + std::u8string_view strl = u8" \thello\r\n"sv, words = u8" \t\r\n"sv; + for (auto _ : state) { + auto rv = OP::strip(strl, words); + } + } + BENCHMARK(StringStrip); + +}