Тёмный

C# What JIT Generates? - Loop Cloning 

LevelUp
Подписаться 6 тыс.
Просмотров 1,3 тыс.
50% 1

Опубликовано:

 

11 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 14   
@mohandeszalatan4576
@mohandeszalatan4576 Год назад
That was so insightful. Thanks for the great video.
@patrykdziarnecki7342
@patrykdziarnecki7342 3 года назад
Awesome content! Thank You!
@christoskonstantas8251
@christoskonstantas8251 4 года назад
Thank you for giving us insight of complex compiler optimizations in such well defined and clear explanations.
@sanjayi6245
@sanjayi6245 4 года назад
Wooow. Super advanced stuff.
@codewkarim
@codewkarim 2 года назад
A GOLD VIDEO.
@nanotomis
@nanotomis 4 года назад
Good content!
@julkiewicz
@julkiewicz Год назад
Could you also make some videos about the differences in output on different operating systems? It seems like on Linux / Mac even the MS version of dotnet (the dotnet/runtime) essentially uses the merged in Mono under the hood. As a result a lot of code output and performance characteristics work completely differently to what happens in the WIndows world.
@LevelUppp
@LevelUppp Год назад
I don't have a MAC, so only Linux would be possible.
@thomastay4228
@thomastay4228 3 года назад
In the slow version (6:34), why doesn't the compiler still hoist x+y out of the loop? Seems like that's something that could be done.
@thomastay4228
@thomastay4228 3 года назад
also, I took a look at the MSIL and I was surprised that the loop cloning happens at the IL -> ASM level and not at the C# -> IL level. Wonder what's the design decision behind that, possibly to keep the compiler simple.
@LevelUppp
@LevelUppp 3 года назад
Seems that in the slow path all optimizations are off.
@LevelUppp
@LevelUppp 3 года назад
Since Loop Cloning is Idiom based it's done in the lowest level possible to be efficient and possibly in the future capture many loop patterns (currently it's very limited).
@thomastay4228
@thomastay4228 3 года назад
@@LevelUppp what is Idiom based? Also, I took a quick look through the repo, looks like loop cloning is defined here: github.com/dotnet/runtime/blob/master/src/coreclr/src/jit/optimizer.cpp#L4526 Don't have time to look through it today, but just posting here to remind myself
@LevelUppp
@LevelUppp 3 года назад
@@thomastay4228 It's a fancy way of saying that compilers detect certain patterns in IL/IR code and then transform that code into a more optimal representation.
Далее
C# What JIT Generates? - Folds
10:36
Просмотров 1,5 тыс.
C# What JIT Generates? - Bounds Check
14:36
Faites comme moi
00:14
Просмотров 1,1 млн
C# What JIT Generates? - Struct Devirtualization
19:23
Просмотров 1,5 тыс.
C# If Else Internals
22:42
Просмотров 3,6 тыс.
HTML Snake with OpenAI o1
3:08
Просмотров 11 тыс.
C# JIT Decompilation Tips using WinDBG
13:55
Просмотров 1,6 тыс.
Cursor Is Beating VS Code (...by forking it)
18:00
Просмотров 74 тыс.
C# JIT Tier Performance
13:24
Просмотров 2,3 тыс.
.NET Decompilation Tools Show & Tell (PowerUp)
20:44
Просмотров 2,3 тыс.