<分区>
我想知道现在人们经常使用什么样的优化技术。我见过人们一直在用字典和所有东西做缓存。速度的交易空间是唯一的出路吗?
标签 c# .net optimization
<分区>
我想知道现在人们经常使用什么样的优化技术。我见过人们一直在用字典和所有东西做缓存。速度的交易空间是唯一的出路吗?
最佳答案
实际上,这与您在算法方面的选择有关。通常没有用于优化的“ Elixir ”。
例如,使用 StringBuilder
而不是连接可以使您的代码显着更快,但需要权衡。如果您不连接大量字符串,则初始化 StringBuilder
所需的内存和时间比仅使用常规连接更糟糕。整个框架中有很多这样的示例,例如您在问题中提到的字典缓存。
您可以真正学习并在一整天的编码中应用的唯一一般优化是装箱/拆箱(堆与堆栈)对性能的影响。为此,您需要了解它的含义以及如何避免或减少这样做的必要性。
Microsoft 的 MSDN 文档有 2 篇关于性能的文章,其中提供了很多很好的通用技术供使用(它们实际上只是同一篇文章的不同版本)。
关于c# - C# 中的优化技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/486021/