The Dispose method of the PdbReader has a call to GC.Collect to free the pdb. This really hurts performance if I try to read the pdbs of a bunch of assemblies in parallel which causes a GC.Collect nearly every second which results in 80-90% GC time. I am not sure but should Marshal.FinalReleasComObject not do the trick to get rid of the CCW to release the pdb? Normally the lazy release of the pdbs is not such a big issue. It would be much nicer to implement it as behaviour and not hard since this call is very intrusive.
Mono Cecil is really a masterpiece. Much appreciated. To cut down memory consumption a bit more it would be nice to get rid of the ImageReader explicitely when I am only interested in some properties of some types in an assembly and gather information from many assemblies at once. Is there a way to do this? Another thing is that Mono Cecil throws exceptions when it encounters a managed C++ target. That is ok for me but it would be very nice if it is possible to get some meta information from the target anyway. Some infos like corflags is able to spit out would be great. I am especially interested in if the target is Pure IL 32/64 Bit Any CPU Not managed at all PE Header type (32 bit, 64 bit) Yours, Alois Kraus -- -- mono-cecil
