172 похожих чатов

Может хватит вести пустую болтавню? 1. inline придуман чтобы явно объяснить

компилятору что вам точно не нужна самостоятельная функция (передача аргументов по стеку это следствие) и пусть это решит компилятор (решит всмысле если функция действительно имеет затрату на вызов, а не опускание ниже (един экземляр вызова)).
2. inline always. обязует копировать внутренности.

из 1. ситуации с inline нужны когда вам действительно по апи продумано и вы хотите чтобы вас компилятор точно понял. компилятор не всегда может понять вашу ситуацию и скорее не верно чето заинлайнить или наоборот.

факт 1. поэтому придуман MIR чтобы легче синтаксически понять и оптимизировать.
факт 2. поэтому разрабы std остерегаются. какбы у них 1 == 1 не был как перейти в одну перейти в другую перейти еще куда изза нейкой вычурной чистоты кода. У них ясно, функция коротка? да и в одно действие? знач inline.

и без бенчей:) какбы в идее раста заложили что вы ничего просто так не платите. даже изза того что у нас итеры с вложенностями множественными.

просто покурите как коды пишут (особенно std) и какие "даможет быть" вылезут если вы так сделаете.

ну и 3. у нас трейты реально по синтаксису самостоятельные fn. даже если вы этого не желаете или это looper

2 ответов

3 просмотра

> У них ясно, функция коротка? да и в одно действие? знач inline. > https://doc.rust-lang.org/src/core/slice/mod.rs.html#1420

> 2. inline always. обязует копировать внутренности. > https://doc.rust-lang.org/reference/attributes/codegen.html?highlight=inline#the-inline-attribute #[inline(always)] suggests that an inline expansion should always be performed. Suggests

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Any electron dev here?
Sayanth Tezro
12
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Карта сайта