ITADN

CMake missing -march=native corrected

#118Pull Requestscivision 创建于 2025-08-10
S
scivisioncommented
There was a missing application of `-march=native` in this CMake script that impacts the benchmark. This potentially impacts the analysis of Prof. Lemire's recent blog [post](https://lemire.me/blog/2025/08/09/why-do-we-even-need-simd-instructions/). The `-march=native` flag was not being applied! Now it is. * CMake 3.14+ is actually required for C++20 and CPM.cmake * Avoid building unwanted tests, optional single command to build and run via CMakePresets.json ## Test results The computer is a 9th-generation Intel laptop CPU 6-core on Windows 11 and MSYS2 GCC 15.1 After this PR: ``` 1: | Input Size (bytes) | std::find (GB/s) | simdutf::find (GB/s) | naive_find (GB/s) | 1: |--------------------|------------------|-----------------------|-------------------| 1: | 1024 | 37.26 | 30.62 | 49.10 | 1: | 8192 | 37.38 | 64.27 | 44.59 | 1: | 65536 | 34.30 | 59.54 | 41.12 | 1: | 524288 | 31.45 | 53.90 | 38.20 | 1: | 2097152 | 31.73 | 51.31 | 35.53 | ``` Before this PR: The `-march=native` flag was omitted, so the runtimes are quite different. ``` 1: | Input Size (bytes) | std::find (GB/s) | simdutf::find (GB/s) | naive_find (GB/s) | 1: |--------------------|------------------|-----------------------|-------------------| 1: | 1024 | 36.05 | 65.72 | 3.48 | 1: | 8192 | 38.65 | 72.92 | 3.62 | 1: | 65536 | 36.20 | 63.89 | 3.10 | 1: | 524288 | 30.91 | 49.62 | 3.38 | 1: | 2097152 | 29.31 | 50.54 | 2.96 | ```
合并状态:未合并 5 条评论