Re[31]: Об эффективности программ
От: alexeiz  
Дата: 20.10.05 18:27
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, alexeiz, Вы писали:


A>>Только с той разницей, что чтобы преобразовать буфер в строку в C, не нужно делать ничего. Например, нам надо передать строку после конкатенации в функцию foo(char*). В C — просто передаём этот самый буфер. В C# функция будет выглядеть как foo(string), и чтобы передать туда результирующую строку нам нужно сначала преобразовать StringBuffer в String.

S>Ты сильно преувеличиваешь стомость этой операции. Посмотри исходники StringBuilder.ToString() рефлектором.

Я бы тебе посоветовал вставить эту операцию в тест и посмотреть на то, как увеличится время. Уверяю тебя, будет очень близко к простой конкатенации строк оператором сложения. Так что мы ничего не выигрываем применяя StringBuilder для конкатенации двух строк, что собственно абсолютно не удивительно.

S>З.Ы. Не все, что занимает меньше асм-команд, тратит меньше тактов

S>З.З.Ы. Не все вызовы одинаково дороги.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.