remove build script, bump MSRV to use standard cfg attributes for SIMD #213
+83
−235
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #208, Resolves #125, Resolves #60
httparse_simd_target_feature_sse42,httparse_simd_target_feature_avx2,httparse_simd_neon_intrinsicswith target feature checks.httparse_disable_simdoption to disable SIMD entirely, falling back to SWAR. This now has to be configured viaRUSTFLAGS, rather thanCARGO_CFG_HTTPARSE_DISABLE_SIMD.httparse_disable_simd_compiletimeoption to force runtime detection. Can always force runtime detection by not setting anytarget_featureanyways.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: