【发布时间】:2012-09-06 07:05:36
【问题描述】:
我试图从性能角度了解两种解决方案中的哪一种更受欢迎。 例如,我有两段代码:
1) 装箱/拆箱
int val = 5;
Session["key"] = val;
int val2 = (int)Session["key"];
2) 强制转换(IntObj 有 int Value 属性来存储 int)
IntObj val = new IntObj(5);
Session["key"] = val;
int val2 = ((IntObj )Session["key"]).Value;
这些示例之间的内存管理区别是什么? 是否有更快的方法来执行此类操作?
注意:Session 只是举例,它可以是任何Dictionary<string, object>
【问题讨论】:
-
我没有测量它,但我会说原语会更快。一个对象有开销。但在这种情况下,我认为可读性是一个更重要的衡量标准。 CPU 周期比大脑周期便宜很多
标签: c# .net performance