Parse Numbers Faster from a String

Before

var line = "42, 84, 126";
var parts = line.Split(',').Select(int.Parse).ToArray();


After

ReadOnlySpan<char> span = line.AsSpan();
while (span.Length > 0)
{
    var commaIndex = span.IndexOf(',');
    ReadOnlySpan<char> token;
    if (commaIndex == -1)
    {
        token = span;
        span = ReadOnlySpan<char>.Empty;
    }
    else
    {
        token = span.Slice(0, commaIndex);
        span = span.Slice(commaIndex + 1);
    }
    if (int.TryParse(token.Trim(), out var value))
    {
        // Do something with value
    }
}