C#中的性能和内存消耗

Sha*_*ham 1 .net c# asp.net memory-management

我有两个问题:

1)我需要一些专家视图来处理代码,这将是性能和内存消耗明智的声音.

2)性能和内存消耗明智的是如何好/坏跟随一段代码和为什么???

需要增加最大值为100的计数器并编写如下代码:

一些示例代码如下:


for(int i=0;i=100;i++)
{
     Some Code
}

for(long i=0;i=1000;i++)
{
     Some Code
}

如果要求相同,那么使用Int16或其他任何东西而不是int有多好.

Jon*_*eet 5

需要增加最大值为100的计数器并编写如下代码:

给出的选项:

for(int i=0;i=100;i++)

for(long i=0;i=1000;i++)
Run Code Online (Sandbox Code Playgroud)

编辑:如上所述,由于中间表达式是赋值而不是类型的表达式,因此这些都不会实际编译bool.

这表明了一个非常重要的观点:在快速完成代码之前让代码正常工作.你的两个循环不做同样的事情 - 一个上限为1000,另一个上限为100.如果你必须在"快"和"正确"之间做出选择,你几乎总是想选择"正确" ".(当然也有例外 - 但这通常是对大量数据的结果的绝对正确性,而不是代码的正确性.)

在这里改变变量类型不太可能产生任何可衡量的差异.微优化通常就是这种情况.当涉及到性能,架构通常是比法优化更重要-这也是很多难以改变以后.一般来说,你应该:

  • 使用最准确,最简单地表示数据的类型,编写最干净的代码
  • 确定合理的性能要求
  • 衡量您的清洁实施
  • 如果它表现不佳,请使用分析等来确定如何改进它

  • 事实上,这段代码根本不起作用,因为循环条件在第一次运行时不会成立(更多的是,甚至不是条件). (2认同)