-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
Vectorized HttpCharacters (and used IndexOfAnyValues in other places found) #45300
Conversation
Thanks for your PR, @gfoidl. Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
/cc: @MihaZupan -- it gets really nice that way 😄. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Beautiful
Grabbing some numbers from dotnet/runtime#78863 as an example: Chars
Bytes
|
Co-authored-by: Miha Zupan <[email protected]>
d410495
to
d80f38d
Compare
@gfoidl, this change will be considered for inclusion in the blog post for the release it'll ship in. Nice work! Please ensure that the original comment in this thread contains a clear explanation of what the change does, why it's important (what problem does it solve?), and, if relevant, include things like code samples and/or performance numbers. This content may not be exactly what goes into the blog post, but it will help the team putting together the announcement. Thanks! |
Nice! Another example of goodness coming together across multiple layers of the stack. |
cc: @stephentoub @danmoseley for this before and after |
... and how it would look if vectorized w/o runtime (not showing the generator part). |
Very glad to see it's panning out as planned. Thanks. |
I believe verifying perf improvement is blocking this, which is itself blocked by build issues. I added blocked label. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice!
/benchmark plaintext,json kestrel |
Crank Pull Request Bot
Benchmarks:
Profiles:
Components:
Arguments: any additional arguments to pass through to crank, e.g. |
/benchmark plaintext,json aspnet-citrine-lin kestrel |
Benchmark started for plaintext, json on aspnet-citrine-lin with kestrel. Logs: link |
plaintext - aspnet-citrine-lin
json - aspnet-citrine-lin
|
Numbers look good. The RPS deltas appear within the usual margin of noise for these benchmarks. |
Thanks @gfoidl! |
The title sounds like a complicated change, but thanks to dotnet/runtime#68328 it got trivial and is a way better alternative to doing it manually as in #44041.
Unfortunately the .NET daily builds are way behind at the moment, so these new APIs aren't available to run benchmarks in an easy way.
Edit: searched for other places where applicable as well. Some of the found were analyzers (NS2.0) or built for older targets where this API isn't available.