[Mono-dev] [PATCH] Optimizations for FileSystemWatcher and MulticastDelegate
andreas.faerber at web.de
Thu Jul 19 15:16:53 EDT 2007
Am 19.07.2007 um 20:36 schrieb Juraj Skripsky:
> I thought about it some more.
> Yes, you're right, returning an array
> containing this.Clone() is the safest thing to do. Otherwise we might
> mix up the chaining...
> I'm looking into a more MS.net-like implementation (using an
> 'invocationList' array instead of a linked list). I think the
> code will be much simpler. And the invocation of a chain will be done
> iteratively rather than recursively, which is much nicer.
Actually I now have second thoughts. What I said is certainly true in
general, but in this case? It's probably not what the average user
messes around with but affects her performance.
Would be safest though either way if you could write a small unit
test and compare it to .NET, that would especially come in handy if
you do change the implementation.
> Right now, I'm trying to wrap my head around
> mono_marshal_get_delegate_invoke() in marshal.c...
Personally I've been very happy when things are implemented in Mono
and work on a certain platform, independent of their performance. I
find it amazing that you take the time for all these code performance
reviews - thanks for those contributions and keep up the good work!
More information about the Mono-devel-list