我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?
这个网站上已经存在很多性能问题,但是我发现几乎所有这些都是特定于问题且相当狭窄的问题.几乎所有人都重复这些建议,以避免过早优化.
我们假设:
我在这里寻找的是在一个关键算法中挤出最后几个百分点的策略和技巧,除此之外别无他法.
理想情况下,尝试使答案语言不可知,并在适用的情况下指出建议策略的任何缺点.
我将使用我自己的初步建议添加回复,并期待Stack Overflow社区可以想到的任何其他内容.
关于我的计划的效率,我处于" 特殊 "状态.现在我处于需要提高应用程序性能和减少电池消耗的阶段.
在问题之前:
现在,我很想知道其他开发人员用于优化自己应用程序的特殊修复程序.用户可能永远不会识别或注意的东西.但是,修复将延长电池寿命或帮助改善应用程序的维护.
那么,你的独特优化技巧是什么?
我处在一个特殊的情况,我正在寻找知识,我认为这将是一个很好的机会,可以分享开发人员对他们所处过的情况的了解.
请投票给出很好的答案,因为这将鼓励优秀的开发人员分享他们的知识.
尝试Debug.dumpHprofData使用Memory Analyzer 打开HPROF文件(由...创建)时,我收到以下异常:
java.io.IOException: Unknown HPROF Version (JAVA PROFILE 1.0.3)
at org.eclipse.mat.hprof.AbstractParser.readVersion(AbstractParser.java:124)
at org.eclipse.mat.hprof.Pass1Parser.read(Pass1Parser.java:69)
at org.eclipse.mat.hprof.HprofIndexBuilder.fill(HprofIndexBuilder.java:65)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(SnapshotFactoryImpl.java:203)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnapshot(SnapshotFactoryImpl.java:114)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:143)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:123)
at org.eclipse.mat.ui.snapshot.ParseHeapDumpJob.run(ParseHeapDumpJob.java:56)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
android ×2
optimization ×2
c++ ×1
dump ×1
java ×1
memory-leaks ×1
performance ×1
profiling ×1
unix ×1