• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SVC-3707
Type: Bug Bug
Status: Resolved Resolved
Resolution: Won't Finish
Priority: Normal Normal
Assignee: Unassigned
Reporter: Vista Questi
Votes: 1
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
2. Second Life Service - SVC

Two kinds of inifinite loops run with 4x higher script times under mono

Created: 22/Jan/09 03:42 PM   Updated: 17/Feb/09 12:33 PM
Return to search
Component/s: Performance, Scripts
Affects Version/s: 1.25 Server
Fix Version/s: None

File Attachments: 1. File Particle Orbitals (5 kB)
2. Text File ParticleScriptRepro.txt (5 kB)

Environment:
Second Life 1.22.5 (107013) Dec 31 2008 13:30:15 (Second Life Release Candidate)
Release Notes

You are at 239383.6, 235355.3, 21.6 in Pony Bay located at sim8391.agni.lindenlab.com (8.10.150.204:13006)
Second Life Server 1.25.4.108489
Release Notes

CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz
Memory: 1005 MB
OS Version: Linux 2.6.24-sabayon #1 SMP Sun Mar 16 18:33:34 UTC 2008 i686
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: GeForce 7800 GS/AGP/SSE2
OpenGL Version: 2.1.2 NVIDIA 169.12

libcurl Version: libcurl/7.16.4 OpenSSL/0.9.7c zlib/1.2.3 c-ares/1.4.0
J2C Decoder Version: KDU
LLMozLib Version: [LLMediaImplLLMozLib] - 2.01.21217 (Mozilla GRE version 1.8.1.13_0000000000)
Packets Lost: 170/346423 (0.0%)
Issue Links:
Duplicate
 
Relates
 

Last Triaged: 16/Feb/09 12:21 PM
Linden Lab Issue ID: DEV-27592


 Description  « Hide
changed summary. Was: script time 4x higher when run in mono – soft

I first noticed this script running on an OS at 200uS (when in mono, I didn't think to switch it out of mono there, at the time). I thought that was pretty exessive. Especially since I like to use it as an attachment.

I grabbed a sim admin I know and checked again with him on his sim (a private estate). There, it consumed 30uS of script time and when switched to mono, consumed about 120uS.

Hmm!

Scripts attached to public JIRA.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Harleen Gretzky added a comment - 22/Jan/09 10:33 PM
Reproduces for me on Second Life Server 1.25.4.108489, my script times went from 0.136 to 0.301.

Harleen Gretzky added a comment - 22/Jan/09 10:43 PM
This is due to the state changes in the script, if you comment out the 'state run' command cript times drop down to negligible.

Duplicate of SVC-3691.


Phillip Vought added a comment - 24/Jan/09 07:58 PM
There is only one initial state change, all of the code that causes the order of magnitude difference in reported execution time is within the "run" state.. No state changes occur in this state.

Harleen Gretzky added a comment - 24/Jan/09 08:25 PM - edited
It goes from state default to state run, then performs the change subroutine 6 times then goes back to state default then back to state run....

I commented out the state run and the script time drops to 0.001, then I reallowed state run and commented out the state default within the run state and script times again drop to 0.001.


Phillip Vought added a comment - 28/Jan/09 02:19 AM - edited
Place the modified script in a prim and watch the different load under LSL/Mono

The modified script with state changes removed still provides the following data:

0.685 Object Mono
0.107 Object LSL

Now I could understand if the Mono script triggered 4x faster, but the trigger event times are identical to LSL

By the way, its hardly suprising the script showed 0.001 when you commented out the run state, all the functionality in question here is in that state.. would have been a better test to just remove the state change and put it in a tight loop as the new script does


Harleen Gretzky added a comment - 16/Feb/09 12:12 PM
It showed 0.001 no matter which state I commented out. I even combined it into one state and it still only shows 0.050. But I will try your script and see.

CG Linden added a comment - 17/Feb/09 12:33 PM
I'm a little bit at a loss as to what the expected behavior should be. Writing a script that somehow relies on the timing of the bytecode interpreter is probably not a good idea. I would recommend the insertion of a timer event or at least some sleeps to obtain a defined behavior.

If after the addition of such throttling code, you still observe a significant performance delta, please file a new JIRA.