More optimization can be done by removing the nested else if in tests:
*****************************************************************
default
{
state_entry()
{
}
touch_start(integer total_number)
{
string message = "blah" ;
llSay(0, "2-free memory="+(string)llGetFreeMemory()) ;
if (message == "here"
{
llSay(0, "messag="+message);
}
else if (message == "i"
{
llSay(0, "messag="+message);
}
else if (message == "am"
{
llSay(0, "messag="+message);
}
else if (message == "checking"
{
llSay(0, "messag="+message);
}
else if (message == "different"
{
llSay(0, "messag="+message);
}
else if (message == "strings"
{
llSay(0, "messag="+message);
}
}
}
***************************************************************************
default
{
state_entry()
{
}
touch_start(integer total_number)
{
string message = "blah" ;
llSay(0, "1-free memory="+(string)llGetFreeMemory()) ;
if (message == "here"
{
llSay(0, "messag="+message);
}
if (message == "i"
{
llSay(0, "messag="+message);
}
if (message == "am"
{
llSay(0, "messag="+message);
}
if (message == "checking"
{
llSay(0, "messag="+message);
}
if (message == "different"
{
llSay(0, "messag="+message);
}
if (message == "strings"
{
llSay(0, "messag="+message);
}
}
}
**************************************************************************
From: someone
5:45] Object: 1-free memory=15737
[5:45] Object: 1-free memory=15702
[5:45] Object: 1-free memory=15698
[5:45] Object: 1-free memory=15698
[5:45] Object: 1-free memory=15698
[5:45] Object: 2-free memory=15712
[5:45] Object: 2-free memory=15677
[5:45] Object: 2-free memory=15673
[5:45] Object: 2-free memory=15673
[5:45] Object: 2-free memory=15673
You have to click a few times to get the free memory check to stabilize... So nested else if take more memory, you gain 5 bytes for each removed. On the other hand it is safer and faster to use nested else if. It is a last resort trick.