On 1.23 servers, code in state_exit handlers ran fast. I noticed this problem because of old code that was running terribly slowly on 1.24 servers.
CODE
check(string where) {
float t = llGetTime();
integer ix;
integer count = 20;
for (ix = 0; ix < count; ++ix) {
}
llSay(0, where + ": " + (string)((llGetTime() - t) / ix) + " seconds per iteration");
}
default {
state_entry() {
llSay(0, "====================");
check("state_entry");
}
touch_start(integer count) {
check("touch_start");
state done;
}
state_exit() {
check("state_exit");
}
}
state done {
state_entry() {
llSay(0, "deleting script");
llRemoveInventory(llGetScriptName());
}
}
Results for LSL-compiled:
[20:41] jPose bed cover v1l: ====================
[20:41] jPose bed cover v1l: state_entry: 0.002211 seconds per iteration
[20:41] jPose bed cover v1l: touch_start: 0.001207 seconds per iteration
[20:41] jPose bed cover v1l: state_exit: 0.288338 seconds per iteration
[20:41] jPose bed cover v1l: deleting script
Results for Mono-compiled:
[20:46] jPose bed cover v1l: ====================
[20:46] jPose bed cover v1l: state_entry: 0.000665 seconds per iteration
[20:46] jPose bed cover v1l: touch_start: 0.000199 seconds per iteration
[20:46] jPose bed cover v1l: state_exit: 0.024114 seconds per iteration
Is this a know bug?
Thanks