LSL Constants vs Globals
Revision as of 21:31, 23 September 2008 by Cron Stardust (talk | contribs) (Without explicit typecasts, the demo code doesn't compile...)
There are some advantages in using global variables over the string and key constants, it's faster and uses less bytecode when it is longer then 3 characters and it used more then twice but it uses more bytecode when it is shorter then 3 characters or it used once. This is easily demonstrated by running the scripts in Figure 1.
Pros
- Faster
- Uses less bytecode when it is longer then 3 characters and it used more then twice.
Cons
- User can accidentally change the value.
- Uses more bytecode when it is shorter then 3 characters or it used once.
Constant | Global |
---|---|
<lsl> dead(){ key a = NULL_KEY; key b = NULL_KEY; key c = NULL_KEY; key d = NULL_KEY; } default { state_entry() { llOwnerSay((string) llGetFreeMemory()); } }</lsl> |
<lsl>key null_key = NULL_KEY; dead(){ key a = null_key; key b = null_key; key c = null_key; key d = null_key; } default { state_entry() { llOwnerSay((string) llGetFreeMemory()); } }</lsl> |