Size: a a a

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

2020 August 19

EG

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

AV

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

s

sexst in Rust — русскоговорящее сообществo
Emmanuel Goldstein
C позволяет VLA, и в Asm можно вообще что хочешь творить.
Есть возможные нюансы на физическом уровне с тем же кешированием и вообще временем доступа к участкам выделенной памяти в разных ситуациях, только это может выстрелить в любую сторону и в целом редко сильно вляиет (если вообще). Так что да, разницы никакой. Поэтому в ряде задач и делают аллокацию большими кусками наперед, а не по десятку байт каждый раз.
источник

A

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

r

red75prime in Rust — русскоговорящее сообществo
Boris Vinogradov
вопрос в том как ты будешь это делать переносимо
void foo(int k, int v, struct kv *back_ref) { struct kv data = { k, v, back_ref}; получаем запрос по сети, если поиск ищем в linked-list data, если добавление, то рекурсивно вызываем foo(k, v, &data) }
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
red75prime
void foo(int k, int v, struct kv *back_ref) { struct kv data = { k, v, back_ref}; получаем запрос по сети, если поиск ищем в linked-list data, если добавление, то рекурсивно вызываем foo(k, v, &data) }
Это очень медленный квстор
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Можно, наверное, сделать скиплист на стеке
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Boris Vinogradov
нет аллокации на стеке, есть фреймование, это немного разные юниты если быть совсем буквальным
Ох уж это "спрашивают с лохов, а вопросы задают". Функция-то alloca называется
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Кому нужны другие архитектуры и ОС? /s
уточню, /s это сарказм?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Julian =) Coffee
уточню, /s это сарказм?
Да
источник

EG

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

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Andrey Vlasov
Ох уж это "спрашивают с лохов, а вопросы задают". Функция-то alloca называется
это уже совсем про другое, по умолчанию совсем другие механизмы работают
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Adv0cat
Но если вдруг нужно будет кучу синхронизировать с каким-то файлом на диске будет так же медленно?)
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Adv0cat
А варианты?
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
Boris Vinogradov
кто тебе сказал эту глупость про то что стек быстрей кучи?
так это не глупость
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
Boris Vinogradov
нет аллокации на стеке, есть фреймование, это немного разные юниты если быть совсем буквальным
да нет, есть
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Tony 123
так это не глупость
это самая большая глупость которую можно придумать потому что если ты проведёшь бенч на разных размерах ты поймёшь что разница будет только в самом начале
источник

A

Adv0cat in Rust — русскоговорящее сообществo
Emmanuel Goldstein
А варианты?
ну типа маппед файлы и куча с синхронизацией на диск
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
Boris Vinogradov
это самая большая глупость которую можно придумать потому что если ты проведёшь бенч на разных размерах ты поймёшь что разница будет только в самом начале
конечно же нет лол, ты память нормально то выделял в бенчах?
источник

T1

Tony 123 in Rust — русскоговорящее сообществo
в линуксе если тебе маллок память вернул это не значит что все нормально ещё
источник