> -- Илья Ермаков писал(а):
> Если как в Обероне - сборка при очередном NEW, если требуется память, то можно так спрофилировать работу с памятью, что до сборки мусора вообще дело доходить не будет или будет крайне редко (программа не выходит за порог занятой памяти. Сколько "наела", столько и держит, явно переиспользуя объекты и очень редко что-нибудь совсем выбрасывая...). Нет сборки - нет пауз, и т.п.Вот я так и стараюсь делать. Наша программа у клиентов же на Линуксе работает под Моно. А Моновский сборщик мусора примерно такой же как и в Блэкбоксе: без поколений, не перемещающий, иногда консервативный; правда память обратно в систему его всё таки научили отдавать.
> -- Илья Ермаков писал(а):
> всё равно они потоки морозят. Вроде бы.Моно морозит. Потому и борюсь с мусором вручную (даже ценой копирования, т.е. иногда вручную симулирую value-типовость на reference-типовых объектах). А то ужас был года три назад, старая версия программы при не очень высокой нагрузке работала 27 секунд, а потом полностью останавливалась и 3 секунды собирала мусор, затем опять работала 27 секунд и т.д.. Тратить 10% времени на сбор мусора может быть и приемлемо, но только если эти 10% будут равномерно распределены по времени.