@@ -54,7 +54,7 @@ int main() {
5454### Build using gcc
5555
5656```
57- gcc main.cpp -mavx512f -mavx512dq -O3
57+ g++ main.cpp -mavx512f -mavx512dq -O3
5858```
5959
6060This is a header file only library and we do not provide any compile time and
@@ -75,33 +75,40 @@ compiler to build.
7575gcc >= 8.x
7676```
7777
78+ ### Build using Meson
79+
80+ meson is the recommended build system to build the test and benchmark suite.
81+
82+ ```
83+ meson setup builddir && cd builddir && ninja
84+ ```
85+
86+ It build two executables:
87+
88+ - ` testexe ` : runs a bunch of tests written in ./tests directory.
89+ - ` benchexe ` : measures performance of these algorithms for various data types.
90+
91+
7892### Build using Make
7993
80- ` make ` command builds two executables:
94+ Makefile uses ` -march=sapphirerapids ` as a global compile flag and hence it
95+ will require g++-12. ` make ` command builds two executables:
8196- ` testexe ` : runs a bunch of tests written in ./tests directory.
8297- ` benchexe ` : measures performance of these algorithms for various data types
8398 and compares them to std::sort.
8499
85100You can use ` make test ` and ` make bench ` to build just the ` testexe ` and
86101` benchexe ` respectively.
87102
88- ### Build using Meson
89-
90- You can also build ` testexe ` and ` benchexe ` using Meson/Ninja with the following
91- command:
92-
93- ```
94- meson setup builddir && cd builddir && ninja
95- ```
96-
97103## Requirements and dependencies
98104
99105The sorting routines relies only on the C++ Standard Library and requires a
100106relatively modern compiler to build (gcc 8.x and above). Since they use the
101107AVX-512 instruction set, they can only run on processors that have AVX-512.
102108Specifically, the 32-bit and 64-bit require AVX-512F and AVX-512DQ instruction
103109set. The 16-bit sorting requires the AVX-512F, AVX-512BW and AVX-512 VMBI2
104- instruction set. The test suite is written using the Google test framework.
110+ instruction set. The test suite is written using the Google test framework. The
111+ benchmark is written using the google benchmark framework.
105112
106113## References
107114
0 commit comments