Как Rust реализует трейт-объекты и почему dyn Trait медленнее дженериков
Спросите разработчика: «Почему dyn Trait медленнее дженериков?», в 9 из 10 случаях услышите: «Потому что косвенный вызов через vtable». Один дополнительный переход по указателю, промах по кешу, вот и вся разница. Звучит убедительно, и кстати процентов на десять правда. Настоящая цена динамической диспетчеризации не в...
Погода сигнала
Стабильно
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Спросите разработчика: «Почему dyn Trait медленнее дженериков?», в 9 из 10 случаях услышите: «Потому что косвенный вызов через vtable». Один дополнительный переход по указателю, промах по кешу, вот и вся разница. Звучит убедительно, и кстати процентов на десять правда. Настоящая цена динамической диспетчеризации не в самом прыжке через vtable, а в том, что этот прыжок прячет от оптимизатора. LLVM видит непрозрачный call по указателю и пасует. Не может встроить тело, не может раскрутить цикл, не может протащить константу через границу вызова. Один косвенный вызов и целый каскад оптимизаций становится невозможным. Но чтобы понять, почему так происходит, нужно сначала разобраться, как dyn Trait устроен внутри. Что лежит в этом толстяке, как выглядит vtable в памяти, и чем всё это отличается от того, что делает компилятор с дженериками.
Оставайтесь в сигнале
Следить за темой «Как Rust реализует трейт-объекты и почему dyn Trait медленнее дженериков»
Следите не только за этой публикацией, но и за её продолжением: новыми материалами, соседними источниками и развитием сюжета.
Карта темы
Понять тему за минуту
Быстрый вход в историю: почему она важна сейчас, кто в ней участвует и куда идти дальше за контекстом.
Почему это важно сейчас
Карта темы
Открыть живую карту этой истории
Посмотрите, какие сущности, линии сюжета, источники и follow-up материалы формируют эту историю прямо сейчас.
Нажимайте на узлы
Story timeline
Продолжить следить за темой
Короткая линия событий и follow-up материалов, чтобы быстро понять ход темы.
Насколько можно опираться
Сигнал и надёжность Habr
Источник работает в быстрый ритме: 0% последних материалов попадают в горячее окно, а 8% дают выраженный поисковый сигнал.
Надёжность
10
Свежесть
22
Источников в сюжете
4
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Мейнфреймы тоже «поржавеют»: для IBM z готовится поддержка Rust в ядре Linux
Ян Поленски (Jan Polensky) представил первый набор патчей под названием «s390: включение поддержки Rust и добавление необходимой архитектурной привязки», позволяющих реализовать...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Банковский троянец переписали на Rust с помощью ИИ
Вредоносная программа VENON функционально повторяет самые распространённые в Латинской Америке банковские вредоносы, но с существенным отличием. Исследователи считают, что он со...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
В популярном ИИ-протоколе нашли критическую уязвимость — отвечающая за него Anthropic ничего исправлять не будет
Исследователи в области кибербезопасности из компании OX Security обнаружили уязвимость в протоколе MCP (Model Context Protocol), работающую на уровне его архитектуры. Она затра...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Промпты Nano Banana для фото и изображений: Бесплатно для Нано Банана Про
Создание безупречного визуала в Nano Banana — это не вопрос везения, а результат правильной коммуникации с нейросетью. В отличие от простых моделей прошлого, этот инструмент спо...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Промпты Nano Banana для фото и изображений: Бесплатно для Нано Банана Про
Создание безупречного визуала в Nano Banana — это не вопрос везения, а результат правильной коммуникации с нейросетью. В отличие от простых моделей прошлого, этот инструмент спо...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Пошаговая инструкция установки MTProto прокси через Service Node + VLESS
Если вы когда-нибудь пытались поднять прокси для Telegram на сервере, то знаете, что такое «мессенджер не грузит». В этой инструкции я предлагаю рассмотреть подробную, пошаговую...
Погода сигнала
Сейчас это одна из самых сильных точек сигнала: тема тянет поиск, внимание или редакционный приоритет.
Почему сейчас
Тема уже растёт в поиске: импульс 888 и 13 внешнего сигнала.
Накрутка поведенческих факторов для роста позиций — реально ли за день занять топ 1 Яндекса
Знаете, можно много долго спорить о том, что вот там умеют делать, а наши ничего не умеют. Но подход Яндекса к формированию поисковой выдачи мне всегда импонировал больше, нежел...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.
Тени истории. Ренессанс – революция, подарившая миру главный инструмент шпионов
Вторая статья цикла о криптографии, в котором мы рассказываем, как человечество училось прятать и расшифровывать секреты — от древних методов до современных алгоритмов. Сегодня ...
Погода сигнала
История уже пережила первый всплеск и теперь работает как надёжный контекстный материал.
Почему сейчас
История уже пережила первый заголовок, но всё ещё активно развивается.