[Mono-devel-list] System.Reflection Performance

Paolo Molaro lupus at ximian.com
Tue Jan 6 17:29:02 EST 2004


On 01/06/04 Joshua Tauberer wrote:
>  12476.454 10000000    0.001  System.String::op_Equality(string,string)
>   Callers (with count) that contribute at least for 1%:
>     10000000  100 % .main::Main(string[])
> ########################
>  3297.479 10000000    0.000  System.String::Equals(string,string)
>   Callers (with count) that contribute at least for 1%:
>     10000000  100 % System.String::op_Equality(string,string)
> 
> From which I understand 12sec was spent in op_Equality and 3sec in 
> Equals.  But, Equals is only called from op_Equality, and all 
> op_Equality does is call Equals, so where are the other 9 seconds in 
> op_Equality attributed to? Is that the overhead of calling a method, or 
> the overhead of profiling, or something else?

That looks high for profiling overhead, so a profiler bug is also
possible (I know there is a bug for recursive calls, but normal calls
should work fine). For some usages a statistical profiler (setitimer
based) would be better: any volunteers? We should also get the kernel
people to fix oprofile to allow tracking of dynamically compiled code.

lupus

-- 
-----------------------------------------------------------------
lupus at debian.org                                     debian/rules
lupus at ximian.com                             Monkeys do it better



More information about the Mono-devel-list mailing list