[Opensim-users] Slow LSL timers
Justin Clark-Casey
jjustincc at googlemail.com
Sat Dec 4 01:35:32 UTC 2010
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
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users
>
--
Justin Clark-Casey (justincc)
http://justincc.org
http://twitter.com/justincc
More information about the Opensim-users
mailing list