Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds intrinsic acceleration to the SilenceProvider. #947

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Zintom
Copy link

@Zintom Zintom commented Sep 27, 2022

If the target framework supports intrinsics (.NET Core 3.0 and up), I define a new Read method which uses the power of Avx and Sse to clear the buffer.

Performance tests using BenchmarkDotNet indicate an 8% speedup using this method:

Better Silence Provider

I also improved documentation on the Read method.

If this PR is accepted I am more than happy to work on accelerated versions of other Wave providers

Any thoughts/ideas are more than welcome :)

* If the target framework supports intrinsics (.NET Core 3.0 and up), I define a new `Read` method which uses the power of Avx and Sse to clear the buffer.

* Performance tests using BenchmarkDotNet indicate a 8% speedup using this method.

* Also, when the DotNet Runtime team add support for `Vector512` this will be able to be optimized even further.

* Improved documentation on the Read method.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant