c# - C# 中的优化技术

标签 c# .net optimization

<分区>

我想知道现在人们经常使用什么样的优化技术。我见过人们一直在用字典和所有东西做缓存。速度的交易空间是唯一的出路吗?

最佳答案

实际上,这与您在算法方面的选择有关。通常没有用于优化的“ Elixir ”。

例如,使用 StringBuilder 而不是连接可以使您的代码显着更快,但需要权衡。如果您不连接大量字符串,则初始化 StringBuilder 所需的内存和时间比仅使用常规连接更糟糕。整个框架中有很多这样的示例,例如您在问题中提到的字典缓存。

您可以真正学习并在一整天的编码中应用的唯一一般优化是装箱/拆箱(堆与堆栈)对性能的影响。为此,您需要了解它的含义以及如何避免或减少这样做的必要性。

Microsoft 的 MSDN 文档有 2 篇关于性能的文章,其中提供了很多很好的通用技术供使用(它们实际上只是同一篇文章的不同版本)。

关于c# - C# 中的优化技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/486021/

相关文章:

mysql - 优化group by order by

c# - 计时器的字符串格式?

.net - ILMerge 和大量 dll 的性能

c# - 从 .NET 4.5.1 应用程序 (EXE) 引用 .NET 3.5 DLL 使用 .NET 4.5.1 对象

.net - C#中的三重DES加密

c# - 如何比较两个图像?

python - Python 中的优化——该做的、不该做的和经验法则

c# - 如何在 C# 中针对大量维度最好地实现 K 最近邻?

c# - 不确定何时在 C# 中使用 'base'

c# - 用户在 ASP.NET 中为 YAF 选择了 theme.css