ToString()对性能的影响
来源:互联网 发布:淘宝联盟买家有优惠吗 编辑:程序博客网 时间:2024/06/10 00:57
对于object的ToString()的调用,平时没有怎么注意,认为可有可无。实际上这个里面对性能有很大的影响,具体怎么样,看下面的例子就可以很清楚的知道了。
object obj1 = "test";
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 1000000; i++)
...{
string t = Convert.ToString(obj1);
}
watch.Stop();
Console.WriteLine("1000000 times object: " + watch.ElapsedMilliseconds + "ms");
object obj2 = "test";
Stopwatch watch1 = new Stopwatch();
watch1.Start();
for (int i = 0; i < 1000000; i++)
...{
string t = Convert.ToString(obj2.ToString());
}
watch1.Stop();
Console.WriteLine("1000000 times string: " + watch1.ElapsedMilliseconds + "ms");
Console.ReadLine();
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 1000000; i++)
...{
string t = Convert.ToString(obj1);
}
watch.Stop();
Console.WriteLine("1000000 times object: " + watch.ElapsedMilliseconds + "ms");
object obj2 = "test";
Stopwatch watch1 = new Stopwatch();
watch1.Start();
for (int i = 0; i < 1000000; i++)
...{
string t = Convert.ToString(obj2.ToString());
}
watch1.Stop();
Console.WriteLine("1000000 times string: " + watch1.ElapsedMilliseconds + "ms");
Console.ReadLine();
运行结果如下:
1000000 times object: 37ms
1000000 times string: 11ms
对于上面的差别,我想应该是在装箱的过程中,有性能损失。具体的原因,可以从中间代码来看,好好的研究下。
- ToString()对性能的影响
- 视图对性能的影响
- synchronized 对性能的影响
- arraysize 对性能的影响
- 视图对性能的影响
- 文件系统对性能的影响
- malloc的标志对性能的影响
- static局部变量对性能的影响
- Ajax 对Web性能的影响分析
- Log4J对应用性能的影响
- Log4J对应用性能的影响
- 临时对象对软件性能的影响
- Java JVM设置对性能的影响
- 绑定变量对性能的影响
- 依赖自动统计对性能的影响
- AutoGrowth 对数据库性能的影响
- SQL对程序性能的影响
- SQL对程序性能的影响
- LINUX下的CP命令的源代码
- .NET手持设备开发工具包安装调试篇
- Oracle10g BIGFILE表空间带来的好处
- 解决问题:Concurrency violation: the UpdateCommand affected 0 of the expected 1 records(UpdateCommand 影响了预期1 条记录中的0 条 )
- 万恶的微软之ADOCE苦旅
- ToString()对性能的影响
- 第一个DWR
- 使用dbms_stats但不生成histogram的方法
- 3D游戏实时显示帧率,截图(bmp,jpg,png),录象(wmv,avi)等功能的软件
- 一条SQL生成九九乘法表
- evc4工程移植vs.net2005所碰到的问题积累
- 暂停一个进程的运行
- JRuby语言内部报道:CRuby语言和JRuby语言gem命令差异
- 花非花,雾非雾