I'm not familiar with the this area of the code but I had a quick look since I was curious (the meat is in
OpenSim/Region/ScriptEngine/Shared/Api/Plugins/Timer.cs). The code isn't using C# timers so I'm not totally surprised
at the behaviour that you're seeing.
I suspect addressing this would require a considerably different implementation.
On 03/12/10 17:18, Jorge Lima wrote:
Ran 100 timer events with a single if(++i> 100) inside. I suppose
decrementing and comparing to 0 might be faster, but I also
copy-pasted 100 inlined if clauses and the time to run them was
negligible.
llSetTimerEvent(0.1) -> 59 s -> 490% overhead
llSetTimerEvent(0.2) -> 59 s -> 195% overhead
llSetTimerEvent(0.5) -> 59 s -> 18% overhead
llSetTimerEvent(0.75) -> 81 s -> 8% overhead
llSetTimerEvent(1.0) -> 108 s -> 8% overhead
llSetTimerEvent(2.0) -> 209 s -> 4.5% overhead
llSetTimerEvent(4.0) -> 407 s -> 1.75% overhead
I am guessing that the overhead is, therefore, internal to the timer
implementation. I haven't tested raw C# timers as comparison but 100ms
is an eternity in modern computing, I can ping servers across the
Atlantic ocean in less than that!
I went through the code but I haven't yet found the part that handles
timers. It's not in EventManager.
Does anyone know what's going on? The code works fine in SL.
Should I be posting this in the dev list? I'd like to see if I can fix it.
Any thoughts on how to get fast timers in OpenSim?
Faster computer? (I did check and was only getting about 20% CPU usage...)
Porting them to a Real-Time operating system? :)
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users
--
Justin Clark-Casey (justincc)
http://justincc.org
http://twitter.com/justincc
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users