首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >测量构建时间以确定瓶颈

测量构建时间以确定瓶颈
EN

Stack Overflow用户
提问于 2011-09-09 07:44:14
回答 1查看 155关注 0票数 2

我正在努力改进一些项目的构建。我已经显著地改进了构建时间,现在我认为瓶颈更加微妙。

构建使用GNU样式的makefile。我生成一系列依赖文件(.d)并将它们包含在makefile中,否则就没有什么特别的事情发生了(例如,没有预编译头文件或其他缓存机制)。

在32核sparc ultra上,构建耗时约95秒,并行运行16个线程。当构建运行时,空闲时间徘徊在80%左右,内核时间徘徊在8-10%之间。我将代码放在/tmp中,但大多数编译器支持文件都是挂载的,我认为这可能会造成性能瓶颈。

有什么工具可以测量和跟踪这些类型的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-09 21:22:41

根据我自己的经验,编译C/C++代码需要通过C预处理器读取大量的头文件。我曾经经历过这样的情况:生成一个完整的翻译单元需要超过50%的g++运行时间。

正如您所提到的,编译时它有80%处于空闲状态,那么它一定是在等待I/O。iostat和DTrace将是一个很好的起点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7355753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档