Get the latest tech news
Performance Improvements in .NET 10
Take a tour through hundreds of performance improvements in .NET 10.
The .NET runtime offers a wide range of services to managed applications, most obviously the garbage collector and the JIT compiler, but it also encompasses a host of other capabilities: assembly and type loading, exception handling, virtual method dispatch, interoperability support, stub generation, and so on. Together, these PRs extend vectorization for almost 60 distinct operations to also accelerate for Half: Abs, Add, AddMultiply, BitwiseAnd, BitwiseOr, Ceiling, Clamp, CopySign, Cos, CosPi, Cosh, CosineSimilarity, Decrement, DegreesToRadians, Divide, Exp, Exp10, Exp10M1, Exp2, Exp2M1, ExpM1, Floor, FusedAddMultiply, Hypot, Increment, Lerp, Log, Log10, Log10P1, Log2, Log2P1, LogP1, Max, MaxMagnitude, MaxMagnitudeNumber, MaxNumber, Min, MinMagnitude, MinMagnitudeNumber, MinNumber, Multiply, MultiplyAdd, MultiplyAddEstimate, Negate, OnesComplement, Reciprocal, Remainder, Round, Sigmoid, Sin, SinPi, Sinh, Sqrt, Subtract, Tan, TanPi, Tanh, Truncate, and Xor. Prior to .NET 10, the MemoryExtensions class already had a wealth of support for searching and manipulating spans, with extension methods like IndexOf, IndexOfAnyExceptInRange, ContainsAny, Count, Replace, SequenceCompare, and more (the set was further extended as well by dotnet/runtime#112951, which added CountAny and ReplaceAny), but the vast majority of these were limited to work with T types constrained to be IEquatable<T>.
Or read this on Hacker News