Difference between revisions of "LlGetSPMaxMemory"

From Second Life Wiki
Jump to: navigation, search
m (added date of release)
m (Added an example that was a simple rotation script.)
Line 18: Line 18:
 
|caveats
 
|caveats
 
|constants
 
|constants
|examples
+
|examples=<lsl>// need to run something for the profile to register...
 +
ScriptRotate()
 +
{
 +
    llTargetOmega(<0.5, 0.7, 0.2>, 0.75, 0.75);
 +
}
 +
 
 +
default
 +
{
 +
    state_entry()
 +
    {
 +
        llSetMemoryLimit( 5000 ); // set the memory limit
 +
       
 +
        // call up the profiler, execute a method, stop profiler
 +
        llScriptProfiler( PROFILE_SCRIPT_MEMORY );
 +
        ScriptRotate();
 +
        llScriptProfiler( PROFILE_NONE );
 +
       
 +
        // display memory usage...
 +
        llSay(0, "Memory used: " + (string)llGetSPMaxMemory() + " bytes, total memory: " +
 +
            (string)llGetMemoryLimit() + " bytes." );
 +
    }
 +
}
 +
 
 +
// outputs
 +
// Object: Memory used: 4448 bytes, total memory: 5000 bytes.</lsl>
 
|helpers
 
|helpers
 
|also_functions=
 
|also_functions=

Revision as of 05:49, 19 November 2013

Summary

Function: integer llGetSPMaxMemory( );

Returns the integer of the most bytes used while LlScriptProfiler was last active.

Specification

This function's behavior is dependent upon the VM the script is using. Mono is the new VM, LSO is the old VM. The big difference between between Mono and LSO is that Mono scripts run faster and can utilize four times more memory.

Mono

During and after a LlScriptProfiler profiling run, llGetSPMaxMemory will return the most memory used during profiling.

LSO

This function has no effect for scripts not compiled to Mono. It will always return 16384, the fixed LSO memory size.

Examples

<lsl>// need to run something for the profile to register... ScriptRotate() {

   llTargetOmega(<0.5, 0.7, 0.2>, 0.75, 0.75);

}

default {

   state_entry()
   {
       llSetMemoryLimit( 5000 ); // set the memory limit
       
       // call up the profiler, execute a method, stop profiler
       llScriptProfiler( PROFILE_SCRIPT_MEMORY );
       ScriptRotate(); 
       llScriptProfiler( PROFILE_NONE );
       
       // display memory usage...
       llSay(0, "Memory used: " + (string)llGetSPMaxMemory() + " bytes, total memory: " + 
           (string)llGetMemoryLimit() + " bytes." );
   }

}

// outputs

// Object: Memory used: 4448 bytes, total memory: 5000 bytes.</lsl>

See Also

Deep Notes

History

Date of Release 17/06/2011

Search JIRA for related Issues

Signature

function integer llGetSPMaxMemory();