TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.7K subscribers
Post #7256 3.77K
💥 Куда исчезает метод после JIT-компиляции?

В C# мы пишем:


int Double(int x) => x * 2;

var result = Double(21);


Но JIT может решить, что отдельный вызов здесь вообще не нужен.

При inlining тело метода встраивается непосредственно в вызывающий код:

🔴 До:


call Double

x * 2


🔴 После:


21 * 2


Зачем? Меньше накладных расходов на вызов метода, а главное — JIT получает больше кода для последующих оптимизаций. Но inline не означает «метод маленький → обязательно встроить».

JIT учитывает размер метода, частоту вызовов, доступность кода для анализа и другие эвристики. Поэтому даже небольшой метод может не попасть в inline.

📍 А атрибут:


[MethodImpl(MethodImplOptions.AggressiveInlining)]

— это подсказка JIT, а не приказ.

И наоборот, иногда большой метод всё-таки может быть встроен, если JIT считает это выгодным.

Вот почему производительность C# нельзя оценивать только по исходному коду: между C# и CPU есть ещё один слой — JIT и его оптимизатор.

📍 Навигация: ВакансииЗадачиСобесы

🐸Библиотека шарписта

#il_люминатор
  • 🔥 8
  • ❤‍🔥 3
More from @csharpproglib
  1. Sep 20, 2026💪 Разминка перед трудовыми буднями Что произойдёт? ❤️ — список станет [1, 3] 🔥 — Invalid…
  2. Sep 19, 2026🧩 Middleware в ASP.NET Core: 3 ловушки Middleware — звено HTTP pipeline: app.Use(async (c…
  3. Sep 18, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸Библиотека шарписта #garbage_collector
  4. Sep 17, 2026🦆 Duck typing в C# — почти как в TypeScript В TypeScript достаточно, чтобы у объекта был…
  5. Sep 17, 2026🧠 Почему .NET-под съедает всю память? kubectl top pod показывает 1 ГБ, а managed heap зан…
  6. Sep 15, 2026🧑‍💻 Забытый await: от race condition до DoS-атаки В C# ключевое слово async — это инстру…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →