Pytanie tyczy się programowania w ogóle, ponieważ jednak obecnie zajmuje się c# więc pytanie zadam w tym dziale.
Mam pętle.
Która z poniższych konstrukcji bedzie najszybsza/najwydajniejsza ?
inaczej mówiąc:
- Czy bardziej opłaca się wywoływać wiele razy tą samą metode , w tym przypadku ToString(),
- Czy lepiej tworzyć za każdym razem obiekt string i jego używać dalej w pętli,
- Czy lepiej utworzyć obiekt string przed pętlą (ewentualnie StringBuilder)
czy nie ma to zadnego znaczenia bo kompilator i tak sobie sam to zoptymalizuje ?
for(i=0; i<1000; i++)
{
jakisObiekt = cosZwracaJakisObiekt();
...
jakasMetodaPrzyjmujacaString(jakisObiekt.ToString());
jakisKontener[jakisObiekt.ToString()] = cos;
...itd, wiele razy uzywa się jakisObiekt.ToString()
}
vs
for(i=0; i<1000; i++)
{
jakisObiekt = cosZwracaJakisObiekt();
string str = jakisObiekt.ToString();
...
jakasMetodaPrzyjmujacaString(str);
jakisKontener[str] = cos;
..itd, wiele razy uzywa się str
}
vs
string str = "";
for(i=0; i<1000; i++)
{
jakisObiekt = cosZwracaJakisObiekt();
str = jakisObiekt.ToString();
...
jakasMetodaPrzyjmujacaString(str);
jakisKontener[str] = cos;
..itd, wiele razy uzwya się str
}
???