相关疑难解决方法(0)

最后的性能优化策略

这个网站上已经存在很多性能问题,但是我发现几乎所有这些都是特定于问题且相当狭窄的问题.几乎所有人都重复这些建议,以避免过早优化.

我们假设:

  • 代码已经正常工作
  • 所选择的算法对于问题的情况已经是最佳的
  • 已经测量了代码,并且已经隔离了违规的例程
  • 所有优化尝试也将被测量,以确保它们不会使事情变得更糟

我在这里寻找的是在一个关键算法中挤出最后几个百分点的策略和技巧,除此之外别无他法.

理想情况下,尝试使答案语言不可知,并在适用的情况下指出建议策略的任何缺点.

我将使用我自己的初步建议添加回复,并期待Stack Overflow社区可以想到的任何其他内容.

language-agnostic optimization performance

600
推荐指数
28
解决办法
8万
查看次数

在什么时候使用StringBuilder变得无关紧要或开销?

最近我发现自己使用StringBuilder进行所有字符串连接,无论大小,但是在最近的性能测试中,我换掉了同事的stringOut = string1 +"." String2样式连接(在一个10000x +循环中使用,每次都是StringBuilder)用于StringBuilder只是为了看看它在次要连接中会有什么不同.

我发现,在性能测试的许多次运行中,无论是串联还是StringBuilder,更改都无论是更高还是更低(重申这是针对小型连接).

在什么时候,StringBuilder对象的"newing up"否定了使用它的好处?

.net stringbuilder

18
推荐指数
3
解决办法
2710
查看次数

什么时候使用StringBuilder?

可能重复:
String vs StringBuilder

我刚刚重温了一些我曾经拿过VB.NET的书.我不确定我是否已经掌握了这一点,了解StringBuilder是如何/是什么.

使用指南是什么?如果要连接2个字符串或50个字符串,最好使用它吗?

或者当总字符串长度大于128个字符时?

或者,只要您使用它来将字符串添加到一起,您会看到性能优势吗?

在哪种情况下,最好使用StringBuilder实例来构建SQL语句string.format("Select * from x where y = {0}",1)

总是让我感到震惊的是,声明另一个变量并包含名称空间对小字符串连接不利,但我现在不确定.

对不起,很多文档告诉你要使用什么,而不是什么是最好的.

vb.net string stringbuilder

16
推荐指数
2
解决办法
3万
查看次数