C#中最重要的优化性能最佳实践是什么

Hom*_*mam 12 .net c# performance

当我阅读本教程时,我注意到以下有关在C#中使用结构的性能提示:

除非您需要引用类型语义,否则系统可以更有效地将小于16字节的类作为结构进行处理.

我在stackoverflow中查找了类似的问题,我发现了一些关于ADO.Net,Networking,Streams中的性能最佳实践的问题,而不是关于C#(该语言)中的性能最佳实践.

我想添加关于使用整数类型的另一个提示:

运行时优化了32位整数类型(Int32和UInt32)的性能,因此将这些类型用于计数器和其他经常访问的整数变量.

Mar*_*ell 13

简单:个人资料.

每个应用程序都不同.花时间减少一些代码以使其"更有效"是没有意义的,如果这不是你的应用程序的瓶颈.此外 - 如果您没有数字来支持更改,您甚至可能会使事情变得更糟.

在大多数情况下,IO是关键点,所以考虑IO是一个明智的选择.同上DB访问.但除此之外:衡量它.


kem*_*002 11

  1. 字符串是不可改变的.
  2. 理解using语句.
  3. 了解拳击泛型如何帮助.
  4. 了解垃圾收集器的工作原理.
  5. .Net 4.0中的并行编程
  6. 了解文件IO如何影响性能.

Eric Lippert谈论了很多优化问题.我会读他的博客.
我也会查看Jon Skeet的博客.

  • 7:过早优化是万恶之源.让它先工作; 如果它适用于一系列字符串附加行,那就太好了.如果这导致您希望改进的执行时间明显变慢,则可以稍后重构以使用StringBuilder. (2认同)