我有两个问题:
1) 我需要一些关于智能代码的专家观点,这在性能和内存消耗方面足够明智。
2) 性能和内存消耗明智的是跟随一段代码的好坏,为什么???
需要将可以达到最大值的计数器增加 100 并编写如下代码:
部分示例代码如下:
for(int i=0;i=100;i++) { Some Code } for(long i=0;i=1000;i++) { Some Code }
如果要求相同,使用 Int16 或其他任何东西代替 int、long 有多好。
最佳答案
Need to increment the counter that could go maximum by 100 and writing code like this:
给出的选项:
for(int i=0;i=100;i++)
for(long i=0;i=1000;i++)
编辑:如前所述,由于中间表达式是赋值而不是 bool
类型的表达式,因此这些都不会真正编译。
这证明了一个非常重要的观点:在使代码变快之前让代码工作。您的两个循环不做同样的事情 - 一个上限为 1000,另一个上限为 100。如果您必须在“快速”和“正确”之间做出选择,您几乎总是 想要选择“正确”。 (当然也有异常(exception)情况 - 但通常是针对大量数据的结果的绝对正确性,而不是代码的正确性。)
此处变量类型之间的更改不太可能产生任何可测量的差异。微优化通常就是这种情况。就性能而言,体系结构通常比方法内优化重要得多,而且以后也更难更改。一般来说,您应该:
- 尽可能编写最简洁的代码,使用最正确、最简单地表示数据的类型
- 确定合理的性能要求
- 衡量您的干净实现
- 如果它的表现不够好,使用分析等来找出改进方法
关于c# - C# 中的性能和内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11790232/