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
