Last night I read an article about someone working on moving average calculation. I remembered I had done a similar exercise few years ago. I put it into BenchmarkDotNet and then wanted to try ArrayPool and ReadOnlySpan features in C# to improve its performance. I do not do much open-source stuff, so feel free to improve it and let me know where I have gone wrong. BenchmarkConsoleTest .