[Opensim-users] Slow LSL timers

Jorge Lima jorge.manuel at gmail.com
Fri Dec 3 17:18:11 UTC 2010


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? :)



More information about the Opensim-users mailing list