Page 3 of 3

Re: Lower lag

Posted: Thu Mar 03, 2011 12:34 am
by Imnotgoing Sideways
As vague as it seems, what they're pretty much saying is that 1 compile + 1 sim = 1 bytecode for all duplicates. But, if you compile again, it's pulled from the bucket into its own space. (^_^)

So, distribute 30 night/day scripted lamps from inventory and/or shift-copy, and they'll all run on their own threads based on the same asset of byte code. This does not mean they're sharing memory allocation, though. Now, if you were to go to each lamp and recompile the script, one-by-one... Suddenly you'll have 30 separate instances of the scripts, all with different asset IDs. (>_<)

So, optimally, when editing and/or re-compiling... You'd want to do ~that~ once and re-distribute the script instead of going copypasta across the board. (^_^)y

Re: Lower lag

Posted: Thu Mar 03, 2011 11:26 am
by Janet Rossini
OK, got it. And it's just the bytecode that's shared, of course. Still perhaps worth doing ... thanks!

Re: Lower lag

Posted: Fri Mar 04, 2011 10:53 am
by LindaB Helendale
I have heard that the bytecode sharing has most likely gone to the same sewer as dynamic memory allocation in Mono, but Lindens havnt said anything specific about it, and only ppl who have access to the actual server computers can assess that.

fr43k Paine wrote:
Beverly Montgomery wrote:...and fr43k didn't you know that some scripts still work even after being removed. hehehe just a reminder there. :D
I did know that, Bev. One question was, if we could use that to our advantage.
Scripts won't run after they are removed, there's no magic in SL :)

There are some prim properties that are set by a script, and once set the properties stay even after the script is removed, such as hover text, color, particle system, texture animation,... and some of them may look like as if the script is still working, while they are actually done by the client, not by the script.

Re: Lower lag

Posted: Fri Mar 04, 2011 10:40 pm
by Wellington Beam
Also worth keeping an eye on what happens with Mono2 which isn't far away. http://wiki.secondlife.com/wiki/Mono2

Re: Lower lag

Posted: Wed Jun 08, 2011 4:46 pm
by Wellington Beam
anybody tried the new script memory reporting being tested on Le Tigrre servers?
http://wiki.secondlife.com/wiki/Beta/LeTigre

New Script Profiling LSL Functions

* llScriptProfiler can enable or disable memory profiling with PROFILE_SCRIPT_MEMORY and PROFILE_SCRIPT_NONE. While profiling the scripts performance will be severely impacted.
* llGetSPMaxMemory will report the highest level of used memory during the most recent, or current, profiling run.
* llGetUsedMemory will report the current used memory of the script and does not require profiling to be enabled.

Re: Lower lag

Posted: Wed Jun 08, 2011 6:32 pm
by Imnotgoing Sideways
I haven't. My own sim is on the Magnum channel. (._.)

Looks promising, though. It'd be fun to add those stats to a lag monitor. (^_^)

Re: Lower lag

Posted: Thu Jun 09, 2011 6:05 am
by Wellington Beam
Kuula's on Le Tigre

Re: Lower lag

Posted: Sat Sep 10, 2011 12:22 pm
by WolfBaginski Bearsfoot
The big change in memory is the llSetMemoryLimit function, which only works in Mono scripts
LSL scripts automatically used 16k of RAM, while Mono uses 64k, so it paid to compile small scripts as LSL.

With the new function, a small script in Mono can be set to use less than 16k of RAM. And since most of the problems arising from using Mono scripts have been fixed, the potential gain is significant.

Re: Lower lag

Posted: Sat Sep 10, 2011 3:05 pm
by Jaco Schaffner
WolfBaginski Bearsfoot wrote:The big change in memory is the llSetMemoryLimit function, which only works in Mono scripts
LSL scripts automatically used 16k of RAM, while Mono uses 64k, so it paid to compile small scripts as LSL.

With the new function, a small script in Mono can be set to use less than 16k of RAM. And since most of the problems arising from using Mono scripts have been fixed, the potential gain is significant.
Hmm, I haven't checked now, but I thought LSL scripts would always use 16k, and Mono scripts would use only what they need, limited to 64k. If that were true, a Mono script can limit that maximum now using llSetMemoryLimit. It would also be a better explanation of the function name.