C 不考虑编程语言,常见的性能问题有哪些?

C 不考虑编程语言,常见的性能问题有哪些?,c,algorithm,performance,data-structures,operating-system,C,Algorithm,Performance,Data Structures,Operating System,通常,如果我的代码有任何性能问题,我将按照以下步骤了解原因 top命令查看cpu的使用情况 free命令查看内存使用情况 将计时信息添加到代码中 在代码中打印进度语句 理解并改进算法 如果代码运行非常慢,该怎么办。1)使用探查器,找出代码中最慢的部分 2) 一旦找到它们,就想办法改进它们 第二步是最困难的。您可能需要一些小的更改或重写所有内容使用。资源瓶颈的位置可能不直观。好的,是的,配置文件,但不要只使用任何旧的配置文件 您需要在相当长的时间内查看堆栈上的代码行,因为这是通过优化它们可以节省的

通常,如果我的代码有任何性能问题,我将按照以下步骤了解原因

  • top命令查看cpu的使用情况
  • free命令查看内存使用情况
  • 将计时信息添加到代码中
  • 在代码中打印进度语句
  • 理解并改进算法
  • 如果代码运行非常慢,该怎么办。

    1)使用探查器,找出代码中最慢的部分
    2) 一旦找到它们,就想办法改进它们

    第二步是最困难的。您可能需要一些小的更改或重写所有内容

    使用。资源瓶颈的位置可能不直观。

    好的,是的,配置文件,但不要只使用任何旧的配置文件

    您需要在相当长的时间内查看堆栈上的代码行,因为这是通过优化它们可以节省的潜在成本

    要找到它们,您应该使用

    • 获取挂钟时间堆栈样本(在I/O和CPU时间期间)
    • 当你想要它们的时候(当它很慢的时候,不是所有的时候)
    • 以及按代码行(而不仅仅是按函数/方法)列出的报告
    • 包含该行的样本百分比(非计数、非自时间、非平均时间-百分比)
    一个好的是


    另一个非常简单的方法是。

    最合适的工具通常是探查器。为了回答问题的标题,最常见的性能问题与过度设计有关,尤其是OOP数据结构。@BlackBear:这方面的内容多得惊人。还有,对不起,我是想听听你关于随机暂停的回答。我同意,关于探查器的问题是找到一个好的。