Który z tych fragmentów kodu wykonywałby się szybciej dla funkcji wykonującej się często?
... new szData[256]; add(szData, charsmax(szData), "..."); add(szData, charsmax(szData), "..."); ...
...
static szData[256];
szData[0] = 0;
addf(szData, charsmax(szData), "...");
addf(szData, charsmax(szData), "...");
...
public addf(szDest[], iLen, const szSource[]) {
new start;
while(start < iLen && szDest[start]) {
++start;
}
if(start >= iLen) {
if(start == iLen) {
szDest[start] = 0;
}
return;
}
new i;
while(start < iLen && szSource[i]) {
szDest[start++] = szSource[i++];
}
szDest[start] = 0;
}
Głównie chodzi o to aby nie alokować za każdym razem pamięci od nowa poprzez słowo new, ale wykorzystać static. Tylko może funkcja addf() byłaby wolniejsza od standardowej add()?


Dodatki SourceMod













