LaihoE / SIMD-itertools

Faster implementations of standard library operations like find, filter, position etc.
167 stars 3 forks source link

Perf improvements for `all_equal_simd` #12

Closed smu160 closed 1 month ago

smu160 commented 1 month ago

This is a draft PR to work on #10.

PaulDotSH commented 1 month ago

Libraries should ignore cargo.lock, can you or @LaihoE add it to .gitignore and remove it?

LaihoE commented 1 month ago

Libraries should ignore cargo.lock, can you or @LaihoE add it to .gitignore and remove it?

done.

LaihoE commented 1 month ago

Thanks, looks good!. Btw be careful with dropping the n in tests too low as it can cause the simd part to never be run.

LaihoE commented 1 month ago

I'm currently working on unrolling the position function. Could you add the UNROLL_FACTOR to the lib.rs next to the SIMD_LEN? I think we should have the same UNROLL_FACTOR for all function (at least for now).

smu160 commented 1 month ago

I'm currently working on unrolling the position function. Could you add the UNROLL_FACTOR to the lib.rs next to the SIMD_LEN? I think we should have the same UNROLL_FACTOR for all function (at least for now).

Do you want that here or as a hotfix in a separate PR?

LaihoE commented 1 month ago

I'm currently working on unrolling the position function. Could you add the UNROLL_FACTOR to the lib.rs next to the SIMD_LEN? I think we should have the same UNROLL_FACTOR for all function (at least for now).

Do you want that here or as a hotfix in a separate PR?

just add it to this pr :+1:

LaihoE commented 1 month ago

Looks good, can we merge this?

smu160 commented 1 month ago

Hi @LaihoE,

Apologies for the belated reply. I'm going to get this PR ready for review now. I'll post the before/after benchmarks as well.

Thank you!!

smu160 commented 1 month ago

This PR is a bit outdated given the new changes. I will create a new PR for running benchmarks and plotting the (criterion) data, first.