From Second Life Wiki
Revision as of 11:44, 15 April 2011 by Strife Onizuka (talk | contribs)
Jump to navigation Jump to search


Function: llScriptProfiler( integer flags );

Enables or disables the scripts profiling state.

• integer flags PROFILE_* flags


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.


Use this function with PROFILE_SCRIPT_MEMORY to enable memory profiling at a sever script performance penalty. Use it with PROFILE_NONE to disable profiling. During and after a profiling run llGetSPMaxMemory will return the most memory used at any one time.


This function has no effect for scripts not compiled to Mono.

Constant Description
PROFILE_NONE Disables profiling
PROFILE_SCRIPT_MEMORY Enables memory profiling


  • Scripts compiled to LSL can not be profiled for memory use.
  • The profile state will reset to PROFILE_NONE if:
    • the object the script is in is de-rezed, rezed or changes regions (via region cross or teleport)
    • the region that object with the script is in shuts down or restarts
    • if the script is reset or taken to or from inventory
  • There is up to 100x performance penalty to the script being profiled (but not the region).
All Issues ~ Search JIRA for related Bugs


Calling llScriptProfiler can look like this: <lsl> llScriptProfiler(PROFILE_SCRIPT_MEMORY) my_func(); llScriptProfiler(PROFILE_NONE) llOwnerSay("This script used at most " + (string)llGetSPMaxMemory() + " bytes of memory during my_func.");


See Also


•  llGetSPMaxMemory

Deep Notes

Search JIRA for related Issues


function void llScriptProfiler( integer flags );