Перейти к содержимому
IMOEX 2164.42 0.3%
·Технологии·14 июля 2026 г.

Бенчмаркая проверки границ: фикс, который шёл 8 лет, и проверка, которая жива до сих пор

Бенчмаркая проверки границ: фикс, который шёл 8 лет, и проверка, которая жива до сих пор

Уважаемые читатели, в этой статье я хочу рассказать о проверках границ массива и представить свои выводы. Каждое обращение arr[i] обязано проверить индекс, иначе IndexOutOfRangeException — а JIT старается эти проверки убирать, когда может доказать, что выход за границы невозможен. Я взял несколько обычных циклов и посмотрел в машинный код на .net 8, 9, 10 и 11 одновременно. Результат разложился по версиям так, как я не ожидал.

Будет три истории:

Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.

Источник: Habr