Size: a a a

Rust — русскоговорящее сообществo

2020 August 19

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Только компиляторы натасканы именно на x86_64
источник

A

Andrey in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Кому нужны другие архитектуры и ОС? /s
Apple со следующего года, например.
источник

s

sexst in Rust — русскоговорящее сообществo
Emmanuel Goldstein
У армов энергопотребление пониже, да сами они проще и дешевле
И тормознее
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
sexst
И тормознее
Сами армы не тормознее, просто под них оптимизировать не умеют
источник

A

Adv0cat in Rust — русскоговорящее сообществo
А, т.е. получается вопрос сводится к тому, что стек это динамическое алоцирование и деалоцирование данных, но если грубо говоря там будет на стеке 100 чисел, и во время выполнения программы эти 100 чисел будут только изменяться, но не удаляться создаваться, то по сути алокация произойдет только один раз, так же, как если бы выделили любым другим алокатором память и работали бы с памятью дальше?)
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Adv0cat
А, т.е. получается вопрос сводится к тому, что стек это динамическое алоцирование и деалоцирование данных, но если грубо говоря там будет на стеке 100 чисел, и во время выполнения программы эти 100 чисел будут только изменяться, но не удаляться создаваться, то по сути алокация произойдет только один раз, так же, как если бы выделили любым другим алокатором память и работали бы с памятью дальше?)
Нет
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
На стеке можно аллоцировать объекты
Но вот деаллоцировать на стеке можно только N последних аллоцированных объектов одновременно
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Ты не можешь деаллоцировать отдельно предпоследний
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
В нормальных языках, типа Rust, место на стеке распределяется статически во время компиляции, но, в целом, это не обязательно
источник

s

sexst in Rust — русскоговорящее сообществo
Emmanuel Goldstein
В нормальных языках, типа Rust, место на стеке распределяется статически во время компиляции, но, в целом, это не обязательно
Почти во всех языках я бы сказал.
источник

s

sexst in Rust — русскоговорящее сообществo
Но да, необязательно. В теории.
источник

Э

Эрик in Rust — русскоговорящее сообществo
sexst
Почти во всех языках я бы сказал.
>В нормальных
Он же сказал.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
sexst
Почти во всех языках я бы сказал.
C позволяет VLA, и в Asm можно вообще что хочешь творить.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Наверное, C++ тоже можно  заставить проглотить, но стандарт, технически, запрещает.
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Т.е. если аллоцировать на стеке 3 гб, и аллоцировать в куче 3 гб, а потом юзать только изменение этих даных без деалокации, то разницы не будет?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Adv0cat
Т.е. если аллоцировать на стеке 3 гб, и аллоцировать в куче 3 гб, а потом юзать только изменение этих даных без деалокации, то разницы не будет?
Не вижу причины, почему должна быть.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Наверное, C++ тоже можно  заставить проглотить, но стандарт, технически, запрещает.
Любой язык, который разрешает вставки на асме, естественно, можно заставить аллоцировать вещи на стеке динамически. Но будет больно.
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Не вижу причины, почему должна быть.
Всё, понял... А куча и маппед файлы имеют различие какое-то в скорости обработки данных, ну кроме того, что маппед файлы в памяти сразу и на диск пишут значения кроме памяти)))
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Adv0cat
Всё, понял... А куча и маппед файлы имеют различие какое-то в скорости обработки данных, ну кроме того, что маппед файлы в памяти сразу и на диск пишут значения кроме памяти)))
В зависимости от того, где находится этот файл
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Если файл находится в ramfs, то разница по производительности будет минимальна
источник