Выделение неуправляемой памяти в .NET, стоит ли игра свеч?
Стоит ли при создании большого пула объектов выделять память в неуправляемой памяти? С одной стороны это лучше для сборщика мусора, т.к. не нужно маркировать и чистить кучу больших объектов, но с другой стороны при загрузке из неуправляемой памяти необходимо постоянно преобразовывать в управляемые объекты. А сериализация и десериализация каждый раз, если работать через потоки при помощи UnmanagetMemoryStream и UnmanagedMemoryAccessor.
Станислав Макаров: С этим все в порядке. Просто рассматриваю различные варианты оптимизации программы с большим потреблением памяти. Редко используемые объекты (относительно) хотелось бы хранить в разделе памяти, где сборщик мусора не имеет полномочий. В случае, если объект из большой кучи находится в файле подкачки, то сборка мусора может привести к заметным издержкам, чтобы его загрузить. Программа кушает довольно много памяти в силу большого объема данных и вычислений с ними.