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>.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of .NET

.NET

Related news:

News photo

SimpleW – Web Server Library .NET Core

News photo

Show HN: NaturalCron – Human-Readable Scheduling for .NET (With Fluent Builder)

News photo

.NET on Heroku Now Generally Available