在 .net 4.5 中,CLR 团队有StringBuilder
很多变化。这是StringBuilder
类的代码参考。在这里,我们可以找到MaxChunkSize
等于 8000 并在此字段上方进行注释:
// We want to keep chunk arrays out of large object heap (< 85K bytes ~ 40K chars) to be sure.
// Making the maximum chunk size big means less allocation code called, but also more waste
// in unused characters and slower inserts / replaces (since you do need to slide characters over
// within a buffer).
所以我仍然想知道,我们是否会使用StringBuilder
附加大字符串,例如:
var sb = new StringBuilder();
sb.Append(<<Here comes the string with length larger than 80 000 symbols>>);
我们还会在 LargeObjectHeap 中分配 ChunksArrays 吗?