|
|
|
Что быстрее? string.Format или StringBuilder
|
|||
|---|---|---|---|
|
#18+
Добрый день! Использую .Net Framework. Как наиболее быстро сформировать большую строку с кучей подставляемых параметров? С помощью string.Format или же StringBuilder? Если можно, аргументируйте свой ответ! Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2009, 17:16:32 |
|
||
|
Что быстрее? string.Format или StringBuilder
|
|||
|---|---|---|---|
|
#18+
Такое сравнение не совсем корректно, либо приведите код. Ведь вы тоже как-то форматируете аргументы, и есть некая логика построения вызовов к StringBuilder в вашем коде. Если речь о простой конкатенации, то, конечно, SB всегда быстрее, хотя бы потому, что Format внутри использует SB Format должен быть медленнееза счет разбора строки в рантайме, Если только оптимизатор тут не намутит специальный код. Я о таком не знаю. Теоретически также может существовать реализация string.Format, которая будет Lazy - компилированный код для каждой возможной строки формата, который с помощью StringBuilder будет работать почти что так же быстро, как непосредственно StringBuilder. Но это опять не корректно сравнивать по той же причине. Сам же SB быстр за счет организации буффера. Я пробовал и так и так. Для конкатенации получилось - SB в разы быстрее, если не в 10-ки раз. нет дурацких вопросов, есть дурацкие ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2009, 21:00:11 |
|
||
|
Что быстрее? string.Format или StringBuilder
|
|||
|---|---|---|---|
|
#18+
Но! Я не рекоммендовал бы использовать такую оптимизацию, потому как это ухудшит читаемость кода. Если это только не узкое место программы. нет дурацких вопросов, есть дурацкие ответы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2009, 21:05:52 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=125&tid=1344577]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 320ms |

| 0 / 0 |
