#ryujit — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #ryujit, aggregated by home.social.
-
Бенчмаркая Sum: ускорил циклом — замедлил в ×4,7
Уважаемые читатели, в этой статье я хочу рассказать о том, что происходит внутри values.Sum() в современном .NET — там нашлись векторные инструкции, контроль переполнения и список процессоров, которым рантайм намеренно ограничивает ширину вектора, — и представить свои выводы. В прошлых статьях серии самописные циклы уже проигрывали BCL в поиске по строке , JIT сам выкидывал проверки границ , а foreach прятал аллокации . Тут случай интереснее: values.Sum() — это LINQ, который при оптимизации первым делом меняют на цикл.
https://habr.com/ru/articles/1060470/
#benchmarkdotnet #linq #sum #simd #avx512 #векторизация #производительность #jit #ryujit #overflowexception
-
Бенчмаркая поиск по строке: самописные циклы проигрывают от ×14 до ×154
Уважаемые читатели, в этой статье я хочу рассказать про поиск по строке и представить свои выводы. Началось с оптимизации: сравнил поиск символа циклом со string.IndexOf — и получил разницу в разы. Заодно выяснилось, что серверный Xeon с AVX-512 в этой задаче медленнее игрового десктопа с AVX2. Ниже разбор обоих фактов с дизасмом и замерами. Будет четыре истории, и в каждой — вопрос, на который я искал ответ:
https://habr.com/ru/articles/1059624/
#simd #avx2 #avx512 #benchmarkdotnet #indexof #searchvalues #ryujit #дизасм #производительность #бенчмарк