Jump to content

LlReplaceSubString


Xiija
 Share

You are about to reply to a thread that has been inactive for 538 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

 

the latest attempt to deploy that version seems to have failed as well:

https://modemworld.me/2023/02/21/2023-sl-sug-meetings-week-8-summary/

Quote

Release 578100, made to the BlueSteel RC channel had to be rolled back post-deployment as a result of BUG-233402 “Second Life Server 2023-02-02.578100 – LSO scripts not running on_rez() event.”

 

  • Thanks 1
Link to comment
Share on other sites

7 hours ago, Xiija said:

The beauty of llReplaceSubString() is that it apparently has been coded to "off-shore" its memory consumption.

In my testing, compiling a string of 8192 A's the replacing each with B's had a starting free memory of 42362 and a free memory of 42288 after.

What's most curious is that the process took a few seconds, but llGetTimestamp() before and after say differently.

IDK if this is a communication/packet handling delay or something else.

Link to comment
Share on other sites

22 hours ago, Love Zhaoying said:

We've lived without that function all these years..

I lived without a dishwasher for many years.  That doesn't mean I don't appreciate that I have one now and that I desire to go back to strictly handwashing my utensils again. 

I look forward to new functions that make things easier and maybe even better resource wise.  Once the bugs are worked out of course.  :)

Link to comment
Share on other sites

4 minutes ago, Anna Salyx said:

I lived without a dishwasher for many years.  That doesn't mean I don't appreciate that I have one now and that I desire to go back to strictly handwashing my utensils again. 

I look forward to new functions that make things easier and maybe even better resource wise.  Once the bugs are worked out of course.  :)

Right now, I'm living without all these on purpose: dishwasher, couches/recliners, traditional bed, dresser, closets, full-size oven..I don't miss any of them!

At least I use the JSON functions!

Edited by Love Zhaoying
  • Like 1
Link to comment
Share on other sites

3 minutes ago, Love Zhaoying said:

Right now, I'm living without all these on purpose: dishwasher, couches/recliners, traditional bed, dresser, closets, full-size oven..I don't miss any of them!

To each their own.  Can I live w/out some or all of those items?  Sure.  Could I be content? Again Sure.  I accept the principles of Buddhism that we must not become too attached to materialistic things, lest they become an unhealthy focus.  But that also means I don't have to eschew them either.  But, and that said, I do respect your conscious decision on the matter and wish you peace there in.  :)  But even as I do like the creature comforts, I'll say no more as I think we are topic drifting now, and I have no desire to fully derail the thread. :P

  • Thanks 1
Link to comment
Share on other sites

22 hours ago, Lucia Nightfire said:

What's most curious is that the process took a few seconds, but llGetTimestamp() before and after say differently.

IDK if this is a communication/packet handling delay or something else.

The message queue in Aditi is probably full / busy or something.

Aditi servers are likely underpowered compared to Agni's.

Link to comment
Share on other sites

20 minutes ago, primerib1 said:
22 hours ago, Lucia Nightfire said:

What's most curious is that the process took a few seconds, but llGetTimestamp() before and after say differently.

IDK if this is a communication/packet handling delay or something else.

The message queue in Aditi is probably full / busy or something.

Aditi servers are likely underpowered compared to Agni's.

If this is because the "memory consumption" (and thereby the actual processing) is "offshored" / offloaded and processed via message queues..

I do not think I would like to trade the "couple lines of code" used all this time, for a poorer performance!!

The existing "string manipulation" functions - I HOPE - should not be using "offloaded" functionality dependent on message queues!!

 

Link to comment
Share on other sites

11 minutes ago, Love Zhaoying said:

If this is because the "memory consumption" (and thereby the actual processing) is "offshored" / offloaded and processed via message queues..

I do not think I would like to trade the "couple lines of code" used all this time, for a poorer performance!!

The existing "string manipulation" functions - I HOPE - should not be using "offloaded" functionality dependent on message queues!!

 

What I meant was, the processing is likely fast. Like real fast.

But the chat message pushed by llOwnerSay() got bogged down in the message queue.

So let's say the code is:

llOwnerSay("Starting: " + llGetTimestamp());
// code being tested
llOwnerSay("Finish at:" + llGetTimestamp());

Seconds passed between you seeing "Starting" and you seeing "Finish", but if you check the actual timestamps, the code is really fast.

Just remember that llOwnerSay() (and all "Say" functions, actually) does NOT directly write to your local chat; rather, it pushes a string to a message queue in the simulator, and the simulator delivers the message to your viewer.

(That is also why two llOwnerSay()s one-after-another might result in out-of-order messages.)

Link to comment
Share on other sites

8 minutes ago, primerib1 said:

What I meant was, the processing is likely fast. Like real fast.

But the chat message pushed by llOwnerSay() got bogged down in the message queue.

So let's say the code is:

llOwnerSay("Starting: " + llGetTimestamp());
// code being tested
llOwnerSay("Finish at:" + llGetTimestamp());

Seconds passed between you seeing "Starting" and you seeing "Finish", but if you check the actual timestamps, the code is really fast.

Just remember that llOwnerSay() (and all "Say" functions, actually) does NOT directly write to your local chat; rather, it pushes a string to a message queue in the simulator, and the simulator delivers the message to your viewer.

(That is also why two llOwnerSay()s one-after-another might result in out-of-order messages.)

Ah, I missed the point that the "timer said it was fast".

But the message came slowly.

That's a normal issue.

 

  • Like 1
Link to comment
Share on other sites

20 hours ago, primerib1 said:

The message queue in Aditi is probably full / busy or something.

Aditi servers are likely underpowered compared to Agni's.

This only happens with llReplaceSubString() the larger the string gets.

There is no issue with chat with any other testing on agni or aditi.

  • Thanks 1
Link to comment
Share on other sites

36 minutes ago, Lucia Nightfire said:

This only happens with llReplaceSubString() the larger the string gets.

There is no issue with chat with any other testing on agni or aditi.

Huh, strange.

Seems the function is still buggy, then.

Probably submit a bug report?

Would hate to see such a bug seeping into Agni.

Link to comment
Share on other sites

21 minutes ago, Love Zhaoying said:

Could it be that this is one of the first functions to be "offloaded" in this specific way? That could explain the different behavior (with timing).

LSD also has some off-shoring, but not with script memory. Structure cost is not applied to prim memory like Experience based KVP structure cost is applied to individual keys.

  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...

Any word on when this function is going to actually work? Could a Linden weigh in, please? This function was rolled out at the end of January this year and here we are nearly two months later and it still doesn't work except (apparently) on certain servers. Which does me, as a scripter, no good at all.

At the very least, please update the wiki article (https://wiki.secondlife.com/wiki/LlReplaceSubString) to indicate that it's NOT fully rolled out yet, so scripters are aware.

  • Thanks 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 538 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...