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

simd: drop 2 unnecessary instructions #137

Conversation

AaronO
Copy link
Contributor

@AaronO AaronO commented Apr 24, 2023

Benches

before:
test header/value_256b ... bench:          34 ns/iter (+/- 13)
test header/value_512b ... bench:          50 ns/iter (+/- 5)
test header/value_1024b ... bench:          86 ns/iter (+/- 7)
test header/value_2048b ... bench:         172 ns/iter (+/- 20)
test header/value_4096b ... bench:         298 ns/iter (+/- 62)

after:
test header/value_256b ... bench:          33 ns/iter (+/- 10)
test header/value_512b ... bench:          48 ns/iter (+/- 20)
test header/value_1024b ... bench:          77 ns/iter (+/- 8)
test header/value_2048b ... bench:         149 ns/iter (+/- 8)
test header/value_4096b ... bench:         252 ns/iter (+/- 50)

@AaronO AaronO force-pushed the perf/x64simd-header-value-less-instructions branch from 88c17e6 to 1f9d40b Compare April 25, 2023 19:03
@seanmonstar
Copy link
Owner

MSRV, currently 1.32, is grumpy. Looks like this needs Rust 1.46, which came out in August 2020, almost 3 years ago.

Distros are on newer versions already. 👍

@AaronO
Copy link
Contributor Author

AaronO commented Apr 25, 2023

MSRV, currently 1.32, is grumpy. Looks like this needs Rust 1.46, which came out in August 2020, almost 3 years ago.

Distros are on newer versions already. 👍

I think an MSRV bump would be reasonable, especially since hyper@master is on 1.56, but since we've managed without it so far we could mint this first series of perf changes in a release then bump MSRV and land this + other cleanups it enables. Bumping to 1.46 would allow for some slightly more idiomatic code in swar and other areas.

@seanmonstar
Copy link
Owner

seanmonstar commented Apr 25, 2023

I would probably make the next release a minor version anyways, 1.9, since the addition of neon at least feels significant enough to not be a patch version. I'd be fine with an MSRV bump in 1.9, or we could do it in 1.10...

Copy link

@ankit-gautam23 ankit-gautam23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@AaronO AaronO force-pushed the perf/x64simd-header-value-less-instructions branch from c3ef630 to 293e8b0 Compare May 4, 2023 07:52
@seanmonstar seanmonstar merged commit f34faf2 into seanmonstar:master May 4, 2023
33 checks passed
@AaronO AaronO deleted the perf/x64simd-header-value-less-instructions branch May 4, 2023 13:31
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.

None yet

3 participants