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

Ребят, #вопрос Нужно ли &[0u8; 4_096] выносить в константу, чтобы

не выделялось место на стеке каждый раз при вызове этого кода, или же компилятор Rust умный и сам это делает? Впринципе этот вопрос про любую структуру используемую вот так через & какой нибудь &MyStruct::default()?
Или подскажите, пожалуйста, где об этом почитать 😊

12 ответов

3 просмотра

ЕМНИП, да, const propagation сделает эту штуковину константой

константы, которые const, кстати, с точки зрения языка при каждом использовании каждый раз как новое значение создаются. а так, оптимизации llvm должны это все схлопнуть в итоге (но лучше перепроверить для своего конкретного случая, раз сильно важно)

&[] - это уже слайс, он разве не будет занимать 24 байта на стеке, как указатель?

Adv0cat- Автор вопроса
Сергей
&[] - это уже слайс, он разве не будет занимать 24...

Мой вопрос заключается в том, что на стеке выделяется место каждый раз при вызове такой конструкции или только один раз 😉

Adv0cat- Автор вопроса
Emmanuel Goldstein
ЕМНИП, да, const propagation сделает эту штуковину...

Спасибо большое, полезу почитаю про const propagation

Adv0cat- Автор вопроса
ozkriff🇺🇦 Lesnikóv
константы, которые const, кстати, с точки зрения я...

> каждый раз как новое значение создаются. Первый раз слышу… А какой смысл тогда в константах, если твое утверждение правильное?

Adv0cat
> каждый раз как новое значение создаются. Первый ...

я не уверен, что вопрос понимаю) тебе нужна константа - берешь const, нужна именно глобальная переменная - берешь static

Adv0cat
Спасибо большое, полезу почитаю про const propagat...

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=bfa7900d0595f58360b3c97894f5b7fe Можно заметить, что у него 'static-лайтайм

Adv0cat- Автор вопроса
Emmanuel Goldstein
https://play.rust-lang.org/?version=stable&mode=de...

Тоже еще раз спасибо, почитаю 😊

Наверняка никто не знает. Золотое правило :если тебе это критично напиши руками и не надейся на компилятор

Adv0cat- Автор вопроса
Αλεχ Zhukovsky
Наверняка никто не знает. Золотое правило :если те...

Ну мне уже ответили и помогли, но спасибо за совет, обычно так и делаю, но иногда лучше спросить и узнать наверняка, чем думать и гадать 😊

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

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

Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Почему спрашиваю - поймал падение на совершенно уже пустом проекте, хочу до минимального повторяемого свести... Такой вопрос - вот эти юниты, перечисленные в инспекторе объек...
notme
6
Всем привет! Может кто поможет разобраться с чёрной магией? (во всяком случае для меня) Дело вот в чём - написал я код для общения с tmc2209 драйвером по half duplex uart. М...
pronvis
4
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Друзья, за кем?
Magic
12
А шо, ты этой библиотекой пользуешься?
Darkanronpa Dark Hole
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
Карта сайта