-3

我已经知道建议在 for 循环中使用 int 变量只是对性能感到好奇,建议使用除 int C# 之外的其他整数类型,何时使用?

这个问题的真正目的是我必须创建一个 T 类型的通用列表,其中 T 是一个包含字符串和整数类型字段的结构。所以我认为优化结构会对整个列表的优化产生立竿见影的效果

我怀疑我的名单会很长......

谢谢

4

2 回答 2

3

(通常的过早优化警告适用于此答案。我假设您确实需要最高性能。)

通过使用最小的可行类型来优化类和结构的大小是一种有效的优化。在您的情况下,您将不会获得任何东西,因为这两个结构string,int并且string,byte由于填充而具有相同的大小。

一般来说,这种技术是有效的。您可以节省内存使用量并获得参考位置、缓存使用率和减少的内存带宽。

将循环计数器变量更改为更小的类型不会获得任何好处,因为对小于整数的任何操作都会int变宽回 int。

于 2012-12-29T14:48:01.543 回答
1

可能是我必须对性能的东西不那么敏感

我只是回顾了我的需求,发现更改类型最多可以节省 24*N*bits,其中 N 是列表 N~10K 的长度,所以 ~240kbits 这没什么大不了的!

于 2012-12-29T15:08:41.153 回答