gpt4 book ai didi

java - 解决代码中的瓶颈

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:57:49 25 4
gpt4 key购买 nike

全部,

给定一个您在功能和实现方面完全不了解的代码,您将如何找到该代码中的性能瓶颈?请列出您可能使用的任何特定工具/标准方法。

最佳答案

我假设您有源代码,并且可以在调试器下运行它,并且有一个“暂停”按钮(或 Ctrl-C 或 Esc),您可以使用它简单地将它停止在轨道上。

我在等待期间做了好几次,比如 10 或 20 次,每次都研究调用堆栈,也许还有一些其他状态信息,这样我就可以口头解释它在做什么以及为什么。

这很重要 - 知道为什么它正在做它正在做的事情。

通常我看到的是,在 20%、50% 或 90% 的样本上,它正在做某事,而且通常可以更有效地做那件事,或者根本不做。所以修复那个东西可以减少(大致)那个百分比的执行时间。问题越大,你看得越快。在极限情况下,您可以在 1 个样本中诊断出无限循环。

这引起了很多 profiler-aficionados 的不满,但尝试过它的人都知道它工作得很好。它基于不同的假设。如果你正在寻找房间里的大象,你不需要测量他。这是一个 more detailed explanation , 和一个 list of common myths .

下一个最好的事情是一个实时堆栈采样器,它在行或指令级别报告百分比,例如 ZoomLTProf ,但它们仍然让您感到困惑,为什么

祝你好运。

关于java - 解决代码中的瓶颈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3950409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com