Day 1/30 — SearchValues in .NET 8/9 (.NET & C#)
Spotted string parsing bottlenecks during a recent code review where repeated IndexOfAny calls were triggering excessive CPU cycles on hot paths.
• SIMD Vectorization: JIT compiler auto-vectorizes instructions to scan multiple bytes simultaneously across wide registers.
• Heap Allocation: Caching the SearchValues instance eliminates repeated array creation overhead inside tight loops.
• Memory Safety: Operating directly on ReadOnlySpan prevents unnecessary string slicing and Gen0 GC pressure.
Watch out: Always cache SearchValues as a static readonly field to avoid costly instance initialization overhead on every method call.
Have you benchmarked SIMD primitives in your ingestion pipelines yet?
Top comments (0)