memchr icon indicating copy to clipboard operation
memchr copied to clipboard

Optimized string search routines for Rust.

Results 23 memchr issues
Sort by recently updated
recently updated
newest added

Currently there are only an x86_64-specific implementations using SIMD instructions. As described in #75 I want to try to port the implementation to aarch64 using the code in [/src/x86/sse42.rs](../blob/master/src/x86/sse42.rs) as...

This should be extended to other contexts if others are able to observe the same gains I was able to observe locally. See comment changes for an explanation of what's...

This PR adds a NEON implementation of all `mem{r}chr` functions. This PR does not add NEON support for `memmem`, as deeper changes in the code are needed for the `Vector`...

### Summary This PR implements AVX2 runtime feature detection that works in `no_std` using the `cpuid` instruction. ### Motivation `memchr` provides low-level primitives, and it's unfortunate that we cannot make...

I have noticed that the SSE2 implementation of memchr in this crate unrolls the loop 4x. Unfortunately, this seems to lead to a significant performance drop on processors on the...

enhancement

This commit ports the various memchr algorithms implemented for SSE2 at `src/memchr/x86/sse2.rs` to the `Vector` trait. This added a few minor methods to the `Vector` trait and the rewrite is...

`is_x86_feature_detected!` resolves to just a `return true` when `-C target-cpu` or `-C target-feature` is set to a value that enables the feature. When using just a simple `is_x86_feature_detected!` and `-C...

To reproduce the error, 1. Create a lib crate 2. Add 2 or more crates depended on `memchr` to the Cargo.toml. For me, it would be `nom = "7.0"` and...

When I wrote the new memmem implementation earlier this year, one thing I did was write the implementation as something that was generic over the vector type: https://github.com/BurntSushi/memchr/blob/186ac04b6fd52f2f7effa5ba7f11f1bb4c4a8a26/src/memmem/genericsimd.rs#L95-L107 where an...

After upgrading to 2.5.0, I'm getting build errors on Android like this: ``` [CONTEXT] stderr: error[E0531]: cannot find tuple struct or tuple variant `GenericSIMD128` in this scope [CONTEXT] --> third-party/rust/vendor/memchr-2.5.0/src/memmem/mod.rs:885:13...