1
0
Fork 0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-05-04 19:16:27 +02:00

add sse2 tests and benchmarks

This commit is contained in:
Samuel Neves 2020-08-31 18:38:58 +01:00
parent bf705f2d54
commit 8610ebda6a
2 changed files with 60 additions and 0 deletions

View File

@ -69,6 +69,18 @@ fn bench_single_compression_portable(b: &mut Bencher) {
);
}
#[bench]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn bench_single_compression_sse2(b: &mut Bencher) {
if !blake3_c_rust_bindings::sse2_detected() {
return;
}
bench_single_compression_fn(
b,
blake3_c_rust_bindings::ffi::x86::blake3_compress_in_place_sse2,
);
}
#[bench]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn bench_single_compression_sse41(b: &mut Bencher) {
@ -134,6 +146,19 @@ fn bench_many_chunks_fn(b: &mut Bencher, f: HashManyFn, degree: usize) {
});
}
#[bench]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn bench_many_chunks_sse2(b: &mut Bencher) {
if !blake3_c_rust_bindings::sse2_detected() {
return;
}
bench_many_chunks_fn(
b,
blake3_c_rust_bindings::ffi::x86::blake3_hash_many_sse2,
4,
);
}
#[bench]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn bench_many_chunks_sse41(b: &mut Bencher) {
@ -213,6 +238,20 @@ fn bench_many_parents_fn(b: &mut Bencher, f: HashManyFn, degree: usize) {
});
}
#[bench]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn bench_many_parents_sse2(b: &mut Bencher) {
if !blake3_c_rust_bindings::sse2_detected() {
return;
}
bench_many_parents_fn(
b,
blake3_c_rust_bindings::ffi::x86::blake3_hash_many_sse2,
4,
);
}
#[bench]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn bench_many_parents_sse41(b: &mut Bencher) {

View File

@ -143,6 +143,18 @@ fn test_compress_portable() {
);
}
#[test]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn test_compress_sse2() {
if !crate::sse2_detected() {
return;
}
test_compress_fn(
crate::ffi::x86::blake3_compress_in_place_sse2,
crate::ffi::x86::blake3_compress_xof_sse2,
);
}
#[test]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn test_compress_sse41() {
@ -284,6 +296,15 @@ fn test_hash_many_portable() {
test_hash_many_fn(crate::ffi::blake3_hash_many_portable);
}
#[test]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn test_hash_many_sse2() {
if !crate::sse2_detected() {
return;
}
test_hash_many_fn(crate::ffi::x86::blake3_hash_many_sse2);
}
#[test]
#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
fn test_hash_many_sse41() {