【发布时间】:2011-06-17 18:11:31
【问题描述】:
大家好。我正在使用 Bloodshed devc++ 作为 ide,我相信它使用 mingw 作为编译器。我一直在阅读很多关于代码优化和瓶颈的文章,这让我想尝试他们推荐的技术:))。所以问题是:
- 如何衡量我的代码运行的效率或差值?
- 我如何知道我的代码的哪些部分是“瓶颈”(我使用的术语是否正确?)
谢谢!
【问题讨论】:
标签: c
大家好。我正在使用 Bloodshed devc++ 作为 ide,我相信它使用 mingw 作为编译器。我一直在阅读很多关于代码优化和瓶颈的文章,这让我想尝试他们推荐的技术:))。所以问题是:
谢谢!
【问题讨论】:
标签: c
您可以使用分析器。当您使用 MinGW 编译器时,请使用 gprof。
【讨论】:
您可以使用分析器来查看代码的哪些部分花费的时间最多。
很难说您的代码是否整体高效。尝试将其完成时间与类似的应用程序进行比较。您应该定义所需的性能并尝试优化代码以低于您的阈值。
【讨论】:
oprofile 的 Linux 机器可能会提供更好的结果。 gprof 的可用性极低,但由于在代码中插入了额外的分析代码,一旦添加了分析开销,它可以轻松地使通常快速而无需分析的微小函数看起来像瓶颈。 oprofile 只是通过对指令指针进行采样来避免这种观察干扰。不幸的是,我不知道任何适用于 Windows 的等效分析工具。
你试过gprof for ming吗?
【讨论】: