From a6df2053af97ce60e99b736a6be65f0661b5b35e Mon Sep 17 00:00:00 2001 From: profan Date: Sun, 7 Jun 2026 19:26:28 +0100 Subject: [PATCH] add note about simd --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 89d9d41..6f7df59 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,11 @@ However because C# JIT implementations (RyuJIT included) monomorphizes generics ... Good for us, because I abused this pattern in this program in order to make it easy to toggle on/off vectorization! +## SIMD in C# +It turns out C# has really nice cross-platform SIMD support, and `Vector2`, `Vector3`, `Vector4` etc. types all automatically benefit from this. + +However, for our specific case we want to go as broad as we can, so if we've got 4 lanes, 8 lanes, etc on our given hardware, we'd like to utilize that best we can, and `Vector` in C# it turns out [allows you to do exactly this](https://learn.microsoft.com/en-us/dotnet/standard/simd#vectort), huge props to the C# team for making it so simple. + # The Program ![The Application, in its 1024x1024 window](sharpero.png)