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

Reply via email to