Skip to content

Conversation

@CathalMullan
Copy link
Contributor

@CathalMullan CathalMullan commented Nov 1, 2025

Resolves #208, Resolves #125, Resolves #60

  • Removed the build script.
  • Bumped MSRV to 1.59 in order to guarantee access to NEON intrinsics.
  • Update to 2021 edition (only required some macro syntax tweaks).
  • Replaced httparse_simd_target_feature_sse42, httparse_simd_target_feature_avx2, httparse_simd_neon_intrinsics with target feature checks.
  • Kept httparse_disable_simd option to disable SIMD entirely, falling back to SWAR. This now has to be configured via RUSTFLAGS, rather than CARGO_CFG_HTTPARSE_DISABLE_SIMD.
  • Removed httparse_disable_simd_compiletime option to force runtime detection. Can always force runtime detection by not setting any target_feature anyways.
  • Disable SIMD when running under miri.

I copied the existing behavior as close as possible when it comes to the feature flags.
That is, when "std" isn't enabled, we always fallback to SWAR.
Even though it looks like compile-time SIMD could work fine without "std".

Also noticed that there was a bug in the CI benchmark for SSE4.2.
It previously tried to set "sse42", rather than "sse4.2".

This feels like it probably should be considered a breaking change, but I guess that depends on whether the cfg options in the build script were considered part of the public API or not.

There are 2 follow up tasks worth looking into:

Copy link
Owner

@seanmonstar seanmonstar left a comment

Choose a reason for hiding this comment

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

Phenomenal work, thank you thank you!

I don't consider any of this a breaking change, the parts detect in the build script were implicit, not public promised.

@seanmonstar seanmonstar merged commit a51172d into seanmonstar:master Nov 3, 2025
35 checks passed
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.

Can the build script be removed or reduced? tests fail to build with --no-default-features. Support Miri

2 participants