<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JIT on Artur Rios Lab</title><link>https://lab.artur-rios.tech/tags/jit/</link><description>Recent content in JIT on Artur Rios Lab</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 21 Oct 2026 12:30:00 +0000</lastBuildDate><atom:link href="https://lab.artur-rios.tech/tags/jit/index.xml" rel="self" type="application/rss+xml"/><item><title>How C# Runs: From Source to IL to Machine Code</title><link>https://lab.artur-rios.tech/dotnet/compilation-and-execution/</link><pubDate>Wed, 21 Oct 2026 12:30:00 +0000</pubDate><guid>https://lab.artur-rios.tech/dotnet/compilation-and-execution/</guid><description>&lt;p&gt;A C# program is not compiled straight to machine code, and it is not&#10;interpreted either. It is compiled &lt;strong&gt;twice&lt;/strong&gt;. When you build, the C# compiler&#10;turns source code into an intermediate language and a description of every&#10;type, packed into an assembly, a &lt;code&gt;.dll&lt;/code&gt; file. When you run, the .NET runtime&#10;turns that intermediate language into machine code for the CPU it is running&#10;on, usually one method at a time and often more than once as it learns which&#10;code is hot.&lt;/p&gt;</description></item></channel></rss>