Is this really saying that compiled code executes math functions faster than interpreted code?
I don't really see this as a language specific thing based on what you are saying (although I am sure we all agree that LSL is a total mess from a language design viewpoint). The deeper question is where to go from here for OpenSimulator. Simply dumping all the installed scripts would be far too painful - ask any Cobol programmer - but hopefully we do not have to repeat past mistakes! Karen On 05/02/2011 05:11 AM, Jeff Kelley wrote: > At 4:36 AM +0100 4/25/11, Justin Clark-Casey wrote: > >> Very interesting, Jeff. The scripting engine in OpenSim transforms LSL to C# >> before compiling it so there wouldn't be a time difference due to >> interpretation. >> >> Of course, I'm presuming that you had configured all LSL scripting delays >> down >> to zero > > No, because I was not aware of that option. > > With ScriptDelayFactor = 0.0, the LSL version changes from an average of > 2.15s to 2.10s. No big deal. The C# version is still around 0.2s. > > I switched to C# because i noticed my script spent most of its time into > list handling (llList2Rot, which was a first speed gain over > 4*llList2Float). Since LSL has no array structure, we use lists to emulate > them and waste a lot of time here. > > Then, replacing llPow with System.Math.Pow gave me another speed boost. > Finally, replacing osSetPenColour, osDrawLine with direct drawlist > manipuations (drawList += ) accounted for the overall 10x speed increase. > > Of course, that depends a lot on your application. If you are manipulating > prims, the gain may be near zero. If you do a lot of math and matrixes, it > may be higher. > _______________________________________________ > Opensim-users mailing list > [email protected] > https://lists.berlios.de/mailman/listinfo/opensim-users _______________________________________________ Opensim-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/opensim-users
