Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Не так уж много, верно, процентов 10-15. Только вот здесь всего 2 строки конкатенируются, а у меня их было обычно 5-10. При concat второй строки проходится первая (поиск конца строки в szTotal) , при concat третьей — первая со второй, и т.д. В общем, двойной цикл
PD>Ну а вот что здесь C# дает
string szFirstName = "11111111111111111111111111111111111111111111111111111111111111111111111111111";
string szLastName = "22222222222222222222222222222222222222222222222222222222222222222222222222222";
string str = szFirstName + szLastName;
0,1317845
StringBuilder sb = new StringBuilder();
...
for (int i = 0; i < 100000; ++i)
{
sb.Length = 0;
sb.Append(szFirstName);
sb.Append(szLastName);
}
0,04493758
Оптимизированый вариант на C# получается на уровне С++
Ну чуть медленнее.
Кстати для корректности теста перепиши свои на wchar_t.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>