>Mike, did you take any measurements?  Was the reflection data static or 
>per-instance?  I would expect that the traits information for properties would 
>be as efficient or more efficient than metadata.  And the >memory overhead of 
>describetype would outweigh the memory of data structure.

Yes, but I was only looking at items labeled with Inject so my problem space 
was smaller. I have not tried to do a general purpose version so I don't have a 
1:1 comparison with describeType which is obviously gathering a lot more. 
Extrapolating from what I did see, it is much more efficient than storing all 
of the metadata. My point on opting in was that in increase should we 
automatically use this method AND someone also still uses describeType at all.

As far as storage, it was static data. Effectively, again my goal at the time 
being very single purpose, for each class that had Injection points it stored a 
reference to that Class as well as the properties and methods labeled with 
Injection in three arrays (one for constructor arguments, one for fields, one 
for methods). In my particular case, I would also recursively store the same 
information for classes referenced as types herein, meaning that if one of the 
constructor arguments was of type ClassA then I also recorded this same data as 
I was attempting to optimize recursive object graph builds.

Mike

Reply via email to