B
Ben Voigt
I've written a converter from ASN.1 type descriptions to .NET structures
(well, with a perl front-end that creates intermediate XML, I think the XML
is useful in its own right). There are over 250 types being converted.
The output looks great viewed from .NET Reflector. However, I'm having
performance problems with the conversion itself. Initially, it runs through
types very quickly (5-6 per second). By the end of the run it is consuming
100% of one logical CPU (Hyperthreading) for nearly 30 seconds in each call
to TypeBuilder.CreateType().
Is CreateType doing searches or something that makes it O(N) or worse in the
number of types in the dynamic module? I tried to free up each TypeBuilder
after calling CreateType but that didn't seem to help.
The types being emitted are all pretty much the same complexity
throughout...
Does anyone know what is causing this performance hit and any possible
solution?
(well, with a perl front-end that creates intermediate XML, I think the XML
is useful in its own right). There are over 250 types being converted.
The output looks great viewed from .NET Reflector. However, I'm having
performance problems with the conversion itself. Initially, it runs through
types very quickly (5-6 per second). By the end of the run it is consuming
100% of one logical CPU (Hyperthreading) for nearly 30 seconds in each call
to TypeBuilder.CreateType().
Is CreateType doing searches or something that makes it O(N) or worse in the
number of types in the dynamic module? I tried to free up each TypeBuilder
after calling CreateType but that didn't seem to help.
The types being emitted are all pretty much the same complexity
throughout...
Does anyone know what is causing this performance hit and any possible
solution?