我有很多代码需要优化并使其运行得更快.我用opreport告诉我代码花了很多时间.我使用以下命令来获取统计信息
opreport -g -l -d
Run Code Online (Sandbox Code Playgroud)
使用不同的标志可以获得建议以获得更好的统计数据,也许每个行号而不是功能号找到它.
因此,我所看到的很多问题都与以下方面有关:
我希望编译器能够更好地优化代码,从而帮助他.我将一些代码块分解为带有字限制的函数,告诉编译器我的指针数组不重叠.
所以我正在寻找(a)可以使代码运行更长时间的常见C结构和(b)如何帮助编译器优化代码.
谢谢
我想将此代码更改为汇编代码,在mac上工作,如何做到这一点?
while (a --)
{
*pDest ++ += *pSrc ++;
}
Run Code Online (Sandbox Code Playgroud) 我是Java新手,我想问一下.
在服务器上配置应用程序是否有意义,我只有控制台?
有没有合理的控制台分析器?
或者我应该只在localhost上分析应用程序?
有很多java profilers,有什么建议可以最好地分析一个在战争中部署到glassfish的java web start应用程序?
我真的很好奇,似乎没有任何反驳论点.那么一个探查器应该用于一切吗?我认为性能提升需要每次都有益.
在分析我的代码以找到变慢的时候,我有3个功能显然需要永远,这就是非常困倦的说法.
这些功能是:
ZwDelayExecution 20.460813 20.460813 19.987685 19.987685
MsgWaitForMultipleObjects 20.460813 20.460813 19.987685 19.987685
WaitForSingleObject 20.361805 20.361805 19.890967 19.890967
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这些功能是什么?为什么他们花了这么长时间,以及如何解决它们.
谢谢
Yes this is a homework question i just need a push in the right direction
Which code block of C++ is faster and why? I Think it is the top one because the [i] array is being used in order, or am i wrong here?.
double A[100][100];
...
for (int i = 0; i < 100; i++) {
for (int j = 0; j < 100; j++) {
A[i][j] = i * j;
}
}
double A[100][100];
...
for (int …Run Code Online (Sandbox Code Playgroud) 我亲眼目睹了提及内联的帖子,使得他们的软件运行得更快[例如].
这让我很奇怪,我什么时候应该为性能进行内联功能?
此外,C++内联的相同指南是否适用?
注意:
我不是在问什么时候(显然需要的时候),或者为什么,我问的是,如果我碰巧遇到瓶颈,内联什么时候会有用?
我想知道数学方式中的不确定性和随机性之间的区别。我试图找到它,但我很困惑,因为有些人说它们是一样的?但任何人都可以为我提供其背后的逻辑推理吗?如果它们不相同,请解释为什么?
我想知道 realloc() 到底要花多少性能:我经常这样做是为了通过一个元素(=特定结构)扩展可用内存区域。多亏了 MMU,这样的 realloc() 只是保留内存区域的扩展,还是在某些条件下可以想象到所有数据的完整复制?
据我所知,当 std::vector 的大小增加并且预定义的内存量太小时,它通常必须复制内存区域......
c++ ×4
java ×3
profiling ×3
c ×2
optimization ×2
performance ×2
assembly ×1
f# ×1
gcc ×1
inline ×1
macos ×1
malloc ×1
probability ×1
profiler ×1
random ×1
realloc ×1
verysleepy ×1