Dav*_*her 3 .net c# performance string-interning
我很好奇.该场景是一个Web应用程序/站点,例如100个并发连接和每秒许多(20?)页面加载.
如果应用需要服务器格式化的字符串
string.Format("Hello, {0}", username);
Run Code Online (Sandbox Code Playgroud)
"Hello,{0}"会被实习吗?或者它只会被实习
string hello = "Hello, {0}";
string.Format(hello, username);
Run Code Online (Sandbox Code Playgroud)
就实习而言,这将提供更好的表现:以上或,
StringBuilder builder = new StringBuilder()
builder.Append("Hello, ");
builder.Append(username);
Run Code Online (Sandbox Code Playgroud)
甚至
string hello = "Hello, {0}";
StringBuilder builder = new StringBuilder()
builder.Append("Hello, ");
builder.Append(username);
Run Code Online (Sandbox Code Playgroud)
所以我的主要问题是:1)是否会对string.Format文字进行实习2)是否值得为字符串构建器设置变量名以进行快速查找,或者3)查找本身是否相当繁重(如果上面的#1是否为)
我意识到这可能会带来微小的收益,但正如我所说,我很好奇.
有一个静态方法String.IsInterned(str)方法.你可以做一些测试并找出答案!
http://msdn.microsoft.com/en-us/library/system.string.isinterned.aspx
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |