RU

Бенчмаркая сортировку строк: подстава с дефолтным компаратором — ×5

Сортировка строк без компаратора работает не так, как кажется, и заметно дольше. Замерил на четырёх машинах и четырёх рантаймах, посчитал обращения…

сортировка строкArray.SortStringComparerкомпараторBenchmarkDotNetпроизводительностьICUглобализация.NET 11
Habr
RU

Бенчмаркая LINQ: подстава с OrderBy — одно условие и полная сортировка

Одни вызовы после OrderBy проходят набор один раз, другие приводят к полной сортировке. По коду разницы не видно. Давайте проверим счётчиком обращен…

LINQOrderByFirstсортировкаBenchmarkDotNetпроизводительность.NET 11компаратороптимизация
Habr
RU

Бенчмаркая Span.Sort: выбрал компаратор-структуру — и получил 88 байт на вызов

Перегрузка Span.Sort с компаратором-структурой должна была работать быстрее обычной. Замер показал обратное: памяти она расходует больше всех, а вре…

Span.SortкомпараторIComparerBenchmarkDotNetаллокациибоксингпроизводительность.NET 11машинный код
Habr
RU

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

Уважаемые читатели, в этой статье я хочу рассказать о проверках границ массива и представить свои выводы. Каждое обращение arr[i] обязано проверить…

benchmarkdotnetJITbounds checkпроверка границRyuJIT.NET 11дизассемблированиепроизводительностьоптимизациямассивы