【发布时间】:2013-05-06 21:46:21
【问题描述】:
我想知道我的程序速度。当我使用像Array.GetLength(1) 这样的方法时,它总是返回int 变量。或者当我插入一个数字时,编译器再次将其声明为int。我是否需要将它们转换为byte 变量以降低内存使用率,否则会影响我的程序速度?
【问题讨论】:
-
回答这个问题的最简单方法是分析两个差异
-
最快的尺寸是您的原始尺寸。 32位操作系统?然后是int。 64位操作系统?可以“长”
-
我认为,最重要的问题是:“你真的需要这种微优化吗?”你不能在 4.77MHz CPU 的 64K 机器上工作
-
对于方法变量,
byte与int不会有任何区别; IL 堆栈操作仅适用于 i8/i4 - i2 和 i1 实现为 i4。如果您有 20,000 个int与 20,000 个byte的数组,那么 那个 可能是一个值得提出的问题。