1
0

fix: do misc work

- add macos compile note in compile manual.
- add DoNotOptimize in benchmark.
This commit is contained in:
2025-10-03 22:47:30 +08:00
parent c6c450f6fa
commit 8e0865384d
2 changed files with 4 additions and 1 deletions

View File

@ -26,7 +26,8 @@ So you actually do not need Google Test, Google Benchmark and Doxygen.
> [!WARNING] > [!WARNING]
> You may face some issues when building on macOS with Clang. That's not your fault. > You may face some issues when building on macOS with Clang. That's not your fault.
> Clang used libc++ library lacks some essential features used by this project. > Clang used libc++ library lacks some essential features used by this project.
> You may try other solutions for compiling this project on macOS or with Clang. > A possible solution is that use GCC and libstdc++ on macOS instead of default Clang and libc++.
> Build issue may be resolved until libc++ finish these features: `std::stacktrace` and `std::views::enumerate`.
### Google Test ### Google Test

View File

@ -11,6 +11,7 @@ namespace yyccbench::string::op {
std::u8string_view strl = u8" \thello\r\n"sv, words = u8" \t\r\n"sv; std::u8string_view strl = u8" \thello\r\n"sv, words = u8" \t\r\n"sv;
for (auto _ : state) { for (auto _ : state) {
auto rv = OP::strip(strl, words); auto rv = OP::strip(strl, words);
benchmark::DoNotOptimize(rv);
} }
} }
BENCHMARK(BM_StringStrip)->Name("StringStrip"); BENCHMARK(BM_StringStrip)->Name("StringStrip");
@ -19,6 +20,7 @@ namespace yyccbench::string::op {
std::u8string_view strl = u8" \thello\r\n"sv, words = u8" \t\r\n"sv; std::u8string_view strl = u8" \thello\r\n"sv, words = u8" \t\r\n"sv;
for (auto _ : state) { for (auto _ : state) {
auto rv = OP::trim(strl, words); auto rv = OP::trim(strl, words);
benchmark::DoNotOptimize(rv);
} }
} }
BENCHMARK(BM_StringTrim)->Name("StringTrim"); BENCHMARK(BM_StringTrim)->Name("StringTrim");