build: Add SIMD optimizations to compare.c

Add SIMD (Single Instruction, Multiple Data) optimizations to the
compare.c file to improve performance. This includes vectorization
flags and architecture-specific optimizations to enhance the
processing of data in the comparison function. Additionally, the
implementation now dynamically selects an optimized code path based
on the size of the pattern data, ensuring efficient execution for
various scenarios.

By Lixfel
This commit is contained in:
2024-04-27 20:07:46 +02:00
parent 9c8551dc5a
commit 1a14d13303
4 changed files with 72 additions and 19 deletions

4
schemsearch-lib/build.rs Normal file → Executable file
View File

@@ -3,5 +3,9 @@ use cc;
fn main() {
cc::Build::new()
.file("src/compare.c")
.flag("-ftree-vectorize")
.flag("-march=native")
.flag("-mtune=native")
.flag("-ffast-math")
.compile("compare");
}