Оптимизация JIT-компилятора при работе с коллекциями
Помните я писал статью про производительность foreach при работе с коллекциями через интерфейс IEnumerable?
Вкратце напомню в чём дело. Когда мы используем, например массивы и списки через интерфейс IEnumerable<T>, то их энумератор приводится к интерфейсу IEnumerator. У массивов и списков энумератор – это структура. Следовательно, при приведении происходит упаковка.
Так вот, команда .NET собирается добавить в .NET 10 оптимизацию для таких случаев, по крайней мере для массивов.
По моему, это круто. Теоретически, работа с массивами через LINQ должна ускориться. Будет интересно проверить этот функционал, когда появится первый релиз .NET 10.
Post #161
494