Если я знаю, что определенное значение, скорее всего, переживет его первую встречу с сборщиком мусора, есть ли способ сообщить GHC, чтобы он мог просто выделить его прямо где-нибудь за пределами детской? Например, если я собираю большую структуру из кучки меньших частей, я знаю, что каждая часть будет длиться, по крайней мере, до тех пор, пока вся структура не будет завершена.
Можно ли пропустить питомник?
Ответ 1
В сборщике мусора GHC нет крючков для намека на генерацию, на которую должен быть выделен объект. Однако вы можете использовать эксплуатационное поведение несколькими способами:
-
в зависимости от типа данных вы можете использовать привязанный объект regio n, чтобы обойти все этапы генерации.
-
эксплуатировать энергичную рекламу, гарантируя, что ваш долговечный объект указывает на то, что сам долгое время жил...
-
сделать данные в CAF и вообще обойти динамическое размещение.