-
LinqFaster
Linq-like extension functions for Arrays, Span<T>, and List<T> that are faster and allocate less.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I haven't run this code yet, but I added on to the ideas presented in the comments and this github repo to get this. Essentially, I moved the SIMD out of the class and use it over a span to TestStructs by blitting the span of TestStructs to a Span of Vector.
LinqFaster has extension methods for SIMD and parallel SIMD that look similar to LINQ. Here's a link to the SIMD parallel implementation. You could easily enough add an overload that takes a span and does some blitting.
Could you provide some more information as to what about System.Numerics is slow? As the owner of both System.Numerics and System.Runtime.Intrinsics I'd appreciate having the feedback and repro for any perf issues here: https://github.com/dotnet/runtime/issues/new/choose