
|
If you were logged in you would be able to see more operations.
|
|
|
| Linden Lab Issue ID: |
DEV-18976
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
Here are some preview grid sample times:
Abotts (non-Mono empty): 0.001760
Fortuna (Havok 1, empty): 0.002444
Fame (Havok 1, slow simulator): 0.002451
Ahern (slow simulator): 0.004138
Sandbox Wanderton (Mono, empty): 0.023679
Sandbox Coguen (Mono, non-empty): 0.023686
Sandbox Cordova (Mono, empty): 0.023744
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
} else state state1;
}
}
|
|
Description
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
Here are some preview grid sample times:
Abotts (non-Mono empty): 0.001760
Fortuna (Havok 1, empty): 0.002444
Fame (Havok 1, slow simulator): 0.002451
Ahern (slow simulator): 0.004138
Sandbox Wanderton (Mono, empty): 0.023679
Sandbox Coguen (Mono, non-empty): 0.023686
Sandbox Cordova (Mono, empty): 0.023744
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
} else state state1;
}
} |
Show » |
made changes - 05/Aug/08 07:26 AM
| Field |
Original Value |
New Value |
|
Description
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
}
}
}
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
} else state1;
}
}
|
made changes - 05/Aug/08 07:27 AM
|
Description
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
} else state1;
}
}
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
} else state state1;
}
}
|
made changes - 05/Aug/08 07:35 AM
|
Summary
|
State changes are hundreds of times slower on MONO servers
|
State changes are several times slower on MONO servers
|
|
Description
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
} else state state1;
}
}
|
I've recently tested a script-performance benchmarking tool I made on the Mono grid, and have found that while performance of many operations are MUCH faster when compared to LSL2, that there is a major weakness in the Mono server.
Below is a simple script that shows the portion of my benchmarking tool used to test state-transitions. On a typical class 5 mainland sim on the main (non-preview) grid, state-changes are executed at approximately 0.0002 seconds per transition. The transitions perform even faster on empty, non-MONO simulators on the preview-grid as well.
However, in MONO regions on the preview grid, state-changes are taking closer to 0.02 seconds to complete, which is around 100 times slower or worse!
Simply throw the following script into an object on a MONO enabled region, and a non-MONO enabled region for comparison. For the sake of argument run both as LSL2 scripts. There is no noticeable difference in speed between running the following script as LSL2 or Mono, both are equally slow on a MONO region.
Here are some preview grid sample times:
Abotts (non-Mono empty): 0.001760
Fortuna (Havok 1, empty): 0.002444
Fame (Havok 1, slow simulator): 0.002451
Ahern (slow simulator): 0.004138
Sandbox Wanderton (Mono, empty): 0.023679
Sandbox Coguen (Mono, non-empty): 0.023686
Sandbox Cordova (Mono, empty): 0.023744
-------------------------------------------------------------
integer counter = 0;
default {
state_entry() {
llResetTime();
state state1;
}
}
state state1 {
state_entry() {
state state2;
}
}
state state2 {
state_entry() {
if ((++counter) >= 100) {
float time = llGetTime() / 200.0;
llOwnerSay((string)time + " seconds/state-change");
} else state state1;
}
}
|
made changes - 05/Aug/08 09:26 AM
|
Link
|
|
This issue Relates to SVC-1276
[ SVC-1276
]
|
made changes - 05/Aug/08 10:26 AM
|
Link
|
|
This issue is related to by SVC-1276
[ SVC-1276
]
|
made changes - 06/Aug/08 05:27 PM
|
Linden Lab Issue ID
|
|
DEV-18976
|
made changes - 08/Aug/08 08:54 AM
|
Link
|
This issue is related to by SVC-1276
[ SVC-1276
]
|
|
made changes - 29/Aug/08 06:49 AM
|
Assignee
|
|
Babbage Linden
[ Babbage Linden
]
|
made changes - 29/Aug/08 06:49 AM
|
Status
|
Open
[ 1
]
|
Fix Pending
[ 10001
]
|
made changes - 31/Aug/08 12:26 PM
|
Link
|
|
This issue is related to by SVC-2958
[ SVC-2958
]
|
made changes - 02/Sep/08 10:35 AM
|
Link
|
|
This issue is related to by SVC-1276
[ SVC-1276
]
|
made changes - 02/Sep/08 10:38 AM
|
Link
|
This issue Relates to SVC-1276
[ SVC-1276
]
|
|
made changes - 14/Oct/08 09:39 AM
|
Status
|
Fix Pending
[ 10001
]
|
Resolved
[ 5
]
|
|
Resolution
|
|
Fixed
[ 1
]
|
made changes - 13/Nov/08 12:10 PM
|
Workflow
|
jira-2007-12-22a
[ 57994
]
|
jira-2008-11-14
[ 82568
]
|
made changes - 13/Nov/08 04:46 PM
|
Workflow
|
jira-2008-11-14
[ 82568
]
|
jira-2008-11-14a
[ 92057
]
|
made changes - 18/Jan/09 09:57 AM
|
Link
|
|
This issue is related to by SVC-3691
[ SVC-3691
]
|
made changes - 22/Jan/09 10:41 PM
|
Link
|
|
This issue is related to by SVC-3707
[ SVC-3707
]
|
|