[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