Add SIMD acceleration for Matrix4x4.Invert #34394 by eanova · Pull Request #36323 · dotnet/runtime (original) (raw)

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.836 (1909/November2018Update/19H2) Intel Core i9-9900K CPU 3.60GHz (Coffee Lake), 1 CPU, 16 logical and 8 physical cores .NET Core SDK=5.0.100-preview.3.20216.6 [Host] : .NET Core 5.0.0 (CoreCLR 5.0.20.21406, CoreFX 5.0.20.21406), X64 RyuJIT DefaultJob : .NET Core 5.0.0 (CoreCLR 5.0.20.21406, CoreFX 5.0.20.21406), X64 RyuJIT

Method Mean Error StdDev
OriginalDotNetInverse 41.18 ns 0.288 ns 0.269 ns
FinalSIMDInverseWithSSEStore 31.30 ns 0.023 ns 0.020 ns

These are the results corresponding to the current commit, which uses the CompilerServices Unknown class to store the final output using SSE Store intrinsics. I followed the the benchmarking guidelines in the docs to generate the tests.