-Large project:
---------------
-
- Drop FindMembers as our API and instead extract all the data
- out of a type the first time into our own datastructures, and
- use that to navigate and search the type instead of the
- callback based FindMembers.
-
- Martin has some some of this work with his TypeHandle code
- that we could use for this.
-
-Notes on memory allocation
---------------------------
-
- A run of the AllocationProfile shows that the compiler allocates roughly
- 30 megabytes of strings. From those, 20 megabytes come from
- LookupType.
-
- See the notes on current_container problems below on memory usage.
-
-GetNamespaces
--------------
-
- Obtaining the list of namespaces is an expensive process because
- Reflection.Emit does not provide a quick way of pulling the data out,
- and it is too slow to load it.
-
- Calling GetNamespaces on my machine (1Ghz):
-
- * Takes half a second with the standard assemblies (corlib + System);
- Fetching the types from it takes 0.0028650 seconds.