Inlining perf regression .net8 to .net9 #110453
Labels
needs-area-label
An area label is needed to ensure this gets routed to the appropriate area owners
tenet-performance
Performance related issue
Description
Some SIMD code which uses F# inlining and devirtualization has gone from being fast under .net 8 to slower than non-SIMD in .net 9 (the non-simd code didn't just get faster).
The code is available as a benchmark at https://github.com/marklam/Net9Slowdown
But for reference, the function in question is mapInPlaceInline:
Configuration
Windows 11 (10.0.22631.4541/23H2/2023Update/SunValley3)
13th Gen Intel Core i9-13900KS, 1 CPU, 32 logical and 24 physical cores
.NET SDK 9.0.101
NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2
Regression?
Comparing SimdFuncsInterfaceViaInline for .net 8 vs .net 9, it has become a lot slower - eg going from 6.847ns to 54.275ns
Data
The text was updated successfully, but these errors were encountered: