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

Попробовать что? Сказать заполненной куче "ну ты потерпи чуток"?

13 ответов

11 просмотров

Можно не дожидаться заполнения кучи и собирать ее при достижении определенного порога

Возьмите виртуальную ЭВМ ( Hyper-V / VMware / VB) уменьшите в параметрах RAM и получите тествый стенд для Garbage Collector

Пока не знаю. Просто попробую это реализовать, и тогда уже смогу точнее сказать.

Etki- Автор вопроса
Andrei Kurosh
Можно не дожидаться заполнения кучи и собирать ее ...

А нормальный гц делает по-другому? Он срабатывает на пороге, потому что знает, что дальше будет только хуже и пауза будет дольше.

Etki- Автор вопроса
Etki
Зачем мне тестовый стенд для гц?

Чтобы с прерываниями поработать. Но это не Вам, это мне надо :)

Etki- Автор вопроса
Etki
А что это меняет?

Предсказуемые задержки и мир не останавливают, и место чистят постоянно.

Etki- Автор вопроса
Михаил Бахтерев
Предсказуемые задержки и мир не останавливают, и м...

Теплое и мягкое Если он умеет работать в параллель, то это другое. Только параллельные тоже имеют свой STW, потому что мутации все равно никуда не деваются. И мы тут вроде про всякий эмбед, где не уверен что есть параллель. И если он параллельный, то тем более он ориентируется на рантаймовые эвристики, а не на предсказания компилятора. Единственное, что можно сказать на этапе компиляции - "после этой операции можно отдохнуть", но компилятор не в состоянии выдать такое предсказание.

Etki
Теплое и мягкое Если он умеет работать в параллел...

Есть давно устоявшаяся терминология. Parallel GC -- это такой, который собирает мусор в несколько потоков. Мир при этом может стоять на месте. Которые могут работать одновременно с мутатором, называются Concurrent GC.

Зачем в параллель? Компилятор может раскидать по коду вызовы частичной сборки мусора, а там, где нужна аллокация, куча уже будет частично почищена. Да и потом, мы, действительно, говорим об embedded, там не такие большие объёмы данных.

Etki- Автор вопроса
Михаил Бахтерев
Зачем в параллель? Компилятор может раскидать по к...

Возвращаемся в самое начало. Компилятор не может сказать сборке мусора "вот тут подождем". Вызывать сборку мусора просто так в надежде на то что это позволит выехать на чистке с непонятной периодичностью при непонятной заполненности абсолютно пустое.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта