It depends: Adapting code on the fly according to HW counters

EN / День 2 / 12:00 / Зал 2

We'll explore how HW counters and other CPU low-level information can collect at runtime from our .NET programs as they are executing and learn, how we can use this information to modify dynamically and continuously adapt our code to execute optimally for our CPU and changing input data/properties. For this to work, Dan will develop and present a package capable of interfacing with the CPU's low-level debugging HW counters and tracing functionality to tap into a plethora of live information directly from our software in C#, in a cross-platform way. We will learn what sort of information exists and how it can provide us with a unique point of view and opportunity to dynamically (re-)compile our existing hot-code and adapt to changing conditions/information as it is presented to us from the CPU. We will see how we can take advantage of the fact that we have a powerful JIT and (ab)use it to squeeze more performance out of our code.