1.5Kпросмотров
38.1%от подписчиков
19 февраля 2026 г.
Score: 1.6K
Существует такая оптимизация компилятора, как девиртуализация, которая помогает убрать накладные расходы при использовании косвенных вызовов: например, интерфейсов или дженериков. Когда компилятор может доказать, что в конкретном месте будет точно использоваться конкретный тип, то он может заменить косвенный вызов на прямой, и сэкономить драгоценные ресурсы. Можете увидеть детальнее в коротком ролике https://youtube.com/shorts/Bov2wEYvy7g 👨‍🎓 К слову, любопытно, что при этом он всё равно поддерживает служебные регистры в том состоянии, какими они были бы при косвенном вызове: MOVD $main..dict.GenericHasBerriesmain.ApplePie, R26 MOVD $main.ApplePie.HasBerries(SB), R1 ... CALL (R1) Смотрите: хоть в регистр R1 и был помещён прямой вызов (адрес) $main.ApplePie.HasBerries (из-за девиртуализации), но в R26 всё равно был помещён словарь для дженерика для поддержания согласованности! https://youtube.com/shorts/Bov2wEYvy7g
1.5K
просмотров
960
символов
Нет
эмодзи
Нет
медиа

Другие посты @VyacheArt

Все посты канала →
Существует такая оптимизация компилятора, как девиртуализаци — @VyacheArt | PostSniper