On 5/3/18 5:07 AM, Claes Redestad wrote:


newReflectionData could be updated to copy the simpleName and canonicalName from oldReflectionData.  The perf isn't a concern when the class is being redefined.  As the class name is unchanged, it might be good to copy the names from older reflection data.

I prefer not to, as I think we should optimize for the normal cases here, which means either a first time create or replacing a cleared reference. In neither of these cases there's any cached data to copy over, so we'd add code (including at least one branch) that'd never be beneficial for the normal case.  And as you say: perf probably isn't a primary concern when classes are being redefined, so why add an optimization that only applies to that case?

It's not solely for performance reason.  The names will never be redefined and so copying the names to a new reflection data makes this explicit.   I do see that the current implementation may require some clean up to do so.

I'm okay to leave it as is since this issue is to improve the performance for the common case.

Mandy

Reply via email to