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()?