[Mono-list] Advice on optimisation in xml deserialisation

Robert Jordan robertj at gmx.net
Wed Jan 9 19:19:24 EST 2008


Alan McGovern wrote:
> There was a thread a week or two ago called 'Speed difference Windows
> - Linux' which noted there was a big difference in performance between
> .NET and mono. I did a brief bit of profiling and came up with this
> patch which improves performance ~30% for the testcase which was
> attached in the email. This reduces runtime memory usage by about 10MB
> (80MB -> 70MB) and decreases processing time by 30% (3.4s -> 2.6s).
> 
> Anyone have any ideas on how to tidy this up to make it neater? Also,
> would this optimisation be too specific, or can it be generalised
> somewhere higher up in the stack.

I don't think the patch is correct. It is assuming that every
"Add" method of a collection/list is compatible with
AddDelegate(object).

If the test cases are still working, it could be that
CreateDelegate is buggy: MSDN states:

"A parameter of a delegate is compatible with the corresponding 
parameter of a method if the type of the delegate parameter is more 
restrictive than the type of the method parameter, because this 
guarantees that an argument passed to the delegate can be passed safely 
to the method."


Robert



More information about the Mono-list mailing list