TGViewer
StepOne | Степан Минин StepOne | Степан Минин @steponeit · 3.27K subscribers
Post #245 2.16K
StepOne | Степан Минин Visitor NET. Уникальный проект Когда я начал рефакторинг своего интерпретатора, передо мной встал вопрос, как реализовывать паттерн Visitor. Его нужно было применить несколько раз, поскольку задач по работе с AST немало: многоэтапный статический анализ,…
Casting Performance 🤖

Потихоньку влился в рабочие процессы, и наконец готов выдать первый технический пост в этом году!

Сегодня мы поговорим о производительности приведения типов в разных сценариях, касающихся ковариантности и контравариантности.

Я написал простенький бенчмарк, чтобы проверить скорость работы с типами в 5 разных сценариях:

1️⃣ Direct - полное соответствие сигнатур

2️⃣ Implicit - неявное приведение благодаря особенностям вариантности

3️⃣ Explicit - использование оператора явного приведения типов

4️⃣ As - безопасное приведение через оператор as

5️⃣ Dynamic - отключение статической типизации ключевым словом dynamic

Гипотеза: Dynamic самый медленный, Explicit и As чуть помедленнее, чем Implicit и Direct

Результаты на скрине её подтверждают!
  • 🔥 7
  • 👍 5
  • ❤ 1
  • 👏 1
  • 🤔 1
More from @steponeit
  1. Sep 29, 2026Рассказал как автоматизировал сборку лексера компилятором для своего языка программировани…
  2. Sep 28, 2026Пошутил про джавистов в прямом эфире 😅 Шарпизм победил окончательно и бесповоротно!
  3. Sep 27, 2026Post #860
  4. Sep 25, 2026Рассказал как я добавил в HydraScript объекты и методы без классов и сделал протоколы. Стр…
  5. Sep 22, 2026Post #858
  6. Sep 21, 2026Post #857
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 →