home.social

#net_11 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #net_11, aggregated by home.social.

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

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

    habr.com/ru/articles/1075386/

    #сортировка_строк #ArraySort #StringComparer #компаратор #BenchmarkDotNet #производительность #ICU #глобализация #NET_11

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

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

    habr.com/ru/articles/1073310/

    #LINQ #OrderBy #First #сортировка #BenchmarkDotNet #производительность #NET_11 #компаратор #оптимизация

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

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

    habr.com/ru/articles/1073128/

    #SpanSort #компаратор #IComparer #BenchmarkDotNet #аллокации #боксинг #производительность #NET_11 #машинный_код

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

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

    habr.com/ru/articles/1059040/

    #benchmarkdotnet #JIT #bounds_check #проверка_границ #RyuJIT #NET_11 #дизассемблирование #производительность #оптимизация #массивы