структуру, которая будет жить до конца программы, можно ли как-то позаботиться, чтобы GC не сильно с ней возился (то есть, например, пропускал Gen 0 и сразу ставил её в Gen 1)? Я пока пробовал использовать compact regions, но что-то не сказать, чтобы эффект был consistent: иногда получается быстрее, а иногда так же (вариабельность большая на бенчмарке почему-то).
compact, запиненая память
профилер что говорит? может не в ней дело
Я не знаю, как там в других подходах, но в фри монадном такая структура есть, это AppRuntime. Например, он общий для всех обработчиков servant'a. Методы могут пользоваться шаренными данными (коннекциями, конфигами и пр.)
Обсуждают сегодня