这个网站上已经存在很多性能问题,但是我发现几乎所有这些都是特定于问题且相当狭窄的问题.几乎所有人都重复这些建议,以避免过早优化.
我们假设:
我在这里寻找的是在一个关键算法中挤出最后几个百分点的策略和技巧,除此之外别无他法.
理想情况下,尝试使答案语言不可知,并在适用的情况下指出建议策略的任何缺点.
我将使用我自己的初步建议添加回复,并期待Stack Overflow社区可以想到的任何其他内容.
我知道这些术语用于表现成就.这一天,我正在研究这个问题,并试图从互联网上了解这些,但没有得到任何明确表达这些概念的例子,以及现实世界发展情景中存在的这些问题/概念.有人可以彻底解释这些术语,示例场景,以及可能使用这些概念和术语的位置.
谢谢.
我正在使用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)
我更喜欢第二种选择,因为它看起来比第一种更好.
使用我正在使用的C代码更有效率,将我的代码移动到现有的C程序或者有一个h文件#included以便它调用单独的.c文件?
当这被编译成.exe时,如果将它合并到原始代码中而不是具有h文件和单独的.c文件,它是如何工作的?
我不确定该程序有多少行代码,我将其他代码合并到其中,但我的代码只有大约一千行代码.
谢谢,DemiSheep
目前正在学习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)
我知道第二个代码段更有效率,我希望有人可以给我一个确切的答案.我确定它与临时物体有关.
performance ×5
benchmarking ×1
c ×1
c++ ×1
delphi ×1
gprof ×1
if-statement ×1
java ×1
optimization ×1
profiler ×1
profiling ×1
syntax ×1