• 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-1522
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Scouse Linden
Reporter: NeoBokrug Elytis
Votes: 0
Watchers: 0
Operations

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

llBase64ToString() on MONO is 115 times slower than it's LSL1 counterpart.

Created: 12/Feb/08 04:00 AM   Updated: 28/May/08 10:01 AM
Return to search
Issue 3466 of 4962 issue(s)
<< Previous | SVC-1522 | Next >>
Component/s: Scripts
Affects Version/s: Mono Beta
Fix Version/s: None

Issue Links:
Relates
 

Linden Lab Issue ID: DEV-15299
Linden Lab Internal Branch: mono-based-on-1-20-0-server-84445


 Description  « Hide
Run a simple loop with two identical scripts and check the time difference at the end.

integer GetGMTmsclock() {
string stamp = llGetTimestamp();
return
(integer) llGetSubString(stamp, 11, 12) * 3600000 +
(integer) llGetSubString(stamp, 14, 15) * 60000 +
llRound((float) llGetSubString(stamp, 17, -2) * 1000.0);
}

integer last;
integer now;
default {
state_entry() {
}

touch_start(integer total_number) {
now = GetGMTmsclock();
integer int;
for (int = 0; int < 100; int++) { string length = "SSBsaWtlIHRvIGVhdCBwaWVz"; string done = llBase64ToString(length); }
last = GetGMTmsclock();
llOwnerSay((string)(last - now) + " milliseconds.");
}
}

Same scripts results:
[3:56] LSL1: 289 milliseconds.
[3:57] MONO: 33471 milliseconds.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Lex Neva added a comment - 12/Feb/08 10:33 AM
I think llGetTime() is better suited to this kind of timing stuff... anyway, interesting find.

Scouse Linden added a comment - 09/Apr/08 02:39 AM
Does LSL produce valid Unicode?
LSL can produce really fast garbage.

NeoBokrug Elytis added a comment - 20/Apr/08 04:24 AM
Lex: You're right.

Scouse: I am uncertain, because I am not a Unicode expert, however 115 times slower is just unacceptable, especially since mono is supposed to be that much faster. It could mess up a lot of current content by being that much slower.

I'm gunna bump this up one level in priority since there aren't a lot of mono bugs, and I don't want this to get left on the back burner to be ignored when mono ihits the grid..


Strife Onizuka added a comment - 25/Apr/08 06:13 AM
I think 115 is a bit drastic and I would write a faster implementation myself but at present the project hasn't interested me enough.

Scouse Linden added a comment - 06/May/08 08:44 AM
Mono is now 5x faster than LSL2, with the caveats of the more restricted character range.

Haravikk Mistral added a comment - 16/May/08 07:10 AM
What restricted character range? Why a restricted character range? More information please!

Strife Onizuka added a comment - 16/May/08 08:14 PM
@Haravikk: SVC-1960

Periapse Linden added a comment - 28/May/08 10:01 AM
passed QA