[Opensim-dev] Lockless Lists?
Frisby, Adam
adam at deepthink.com.au
Mon Nov 24 10:23:06 UTC 2008
I've recently discovered (and perhaps I should have known this earlier) it's possible to create a reasonably high performance lock-free list/dictionary/stack/queue structure under C#.
Julian Bucknall has posted the sourcecode to a bunch of these here: http://www.boyet.com/articles/lockfreestack.html
One of the big performance issues with OpenSim is our overreliance on locking data structures, which can cause issues when those locks don't release in a timely manner. If we switched to lockless structures - we could effectively eliminate those issues. (and probably create new ones.)
Does anyone have any opposition if we try to replace some of the core structures with lock-free versions, and then removing the locks on them? I'm thinking Scene.Entities, Scene.Presences would be two good targets for the first lot, then maybe we can attack some deeper bits later.
Adam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20081124/0bc7a7c6/attachment-0001.html>
More information about the Opensim-dev
mailing list