相关疑难解决方法(0)

最后的性能优化策略

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

我们假设:

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

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

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

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

language-agnostic optimization performance

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

gprof 的替代品

还有哪些程序与 gprof 做同样的事情?

profiler profiling gprof

170
推荐指数
6
解决办法
7万
查看次数

什么是Boilerplate代码,热门代码和热点?

我知道这些术语用于表现成就.这一天,我正在研究这个问题,并试图从互联网上了解这些,但没有得到任何明确表达这些概念的例子,以及现实世界发展情景中存在的这些问题/概念.有人可以彻底解释这些术语,示例场景,以及可能使用这些概念和术语的位置.

谢谢.

java language-agnostic performance benchmarking

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

开始结束是否会影响条件语句的性能?

我正在使用Delphi.如果我们if condition以不同的方式写作,它会对性能产生任何影响吗?例如:

if (condition) then
   someVar := someVal
else
   someVar := someOtherVal;  
Run Code Online (Sandbox Code Playgroud)

或者我们可以写:

if (condition) then begin
   someVar := someVal;
end else begin
   someVar := someOtherVal;
end;  
Run Code Online (Sandbox Code Playgroud)

我更喜欢第二种选择,因为它看起来比第一种更好.

delphi syntax performance if-statement

6
推荐指数
1
解决办法
1132
查看次数

C代码的效率更高?

使用我正在使用的C代码更有效率,将我的代码移动到现有的C程序或者有一个h文件#included以便它调用单独的.c文件?

当这被编译成.exe时,如果将它合并到原始代码中而不是具有h文件和单独的.c文件,它是如何工作的?

我不确定该程序有多少行代码,我将其他代码合并到其中,但我的代码只有大约一千行代码.

谢谢,DemiSheep

c performance

2
推荐指数
1
解决办法
233
查看次数

哪个更快/更有效?

目前正在学习C++的效率,并想知道在方法中返回参数的效率.

想象一下带有add方法的Vector3f类.

代码一:

Vector3f Vector3f::add(const Vector3f &rhs) const {
    Vector3f result;
    result.x(x() + rhs.x());
    result.y(y() + rhs.y());
    result.z(z() + rhs.z());
    return result;
}
Run Code Online (Sandbox Code Playgroud)

代码二:

Vector3f Vector3f::add(const Vector3f &rhs) const {
    return Vector3f(
                x() + rhs.x(),
                y() + rhs.y(),
                z() + rhs.z());
}
Run Code Online (Sandbox Code Playgroud)

我知道第二个代码段更有效率,我希望有人可以给我一个确切的答案.我确定它与临时物体有关.

c++ performance

2
推荐指数
1
解决办法
272
查看次数