I have gotten pretty far with the memory usage problems from cecil. If
you run cecil over a period of time it basically fragments the hell
out of your LOH.

The main offender is the metadatareader buffer. I know two ways to get
by this issue that I thought I would bring up here to see what people
think.

The general idea behind both mechanisms is to use many smaller arrays
as opposed to one big array.

The first idea would be to make it use normal memory (can be
released/collected/compacted normally) say chunks of 50k each.
The second idea is to make big chunks (user definable) in the LOH and
reuse them internally.

I have code that does both of these and it should be a relatively
minor code change (instead of an array its an object that exposes an
indexor that takes an int and internally deals with many arrays). In
terms of the runtime performance hit it should be fairly minor and
would keep the LOH from getting fragmented.

Thoughts?

Greg

-- 
Les erreurs de grammaire et de syntaxe ont été incluses pour m'assurer
de votre attention

-- 
--
mono-cecil

Reply via email to