- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
性能监视工具
第1 章
性能监视工具 1
听诊器是一种简单工具,却给医生的工作带来了革命:它让内科医生能有效地监控病人的身
体。性能监视工具(profiler )对程序起着同样的作用。
你现在用什么工具来研究程序?复杂的分析系统很多,既有交互式调试器,又有程序动画系
统。正如CT扫描仪永远代替不了听诊器一样,复杂的软件也永远代替不了程序员用来监控程序
的最简单工具——性能监视工具,我们用它了解程序各部分的执行频率。
本章先用两种性能监视工具来加速一个小程序(记住真正的目的是说明性能监视工具)。后
续各节简要介绍性能监视工具的各种用途、非过程语言的性能监视工具,以及开发性能监视工具的
技术。
1.1 计算素数
程序P1是个ANSI标准C程序,依次打印所有小于1000的素数(如果读者不了解C,请看附录A )。
程序P1
int prime(int n)
{ int i;
999 for (i = 2; i n; i++)
78022 if(n%i == 0)
831 return 0;
168 return 1;
}
main()
{ int i, n;
1 n = 1000;
1 for (i = 2; i = n; i++)
999 if (prime(i))
168 printf(%d\n, i);
}
如果整型参数n是素数,上述prime函数返回1 (真),否则返回0 。这个函数检验2到n1之间 3
的所有整数,看其是否整除n 。上述main过程用prime子程序来依次检查整数2~1000,发现素数
4 第1 章 性能监视工具
就打印出来。
我像写任何一个C程序那样写好程序P1 ,然后在性能监视选项下进行编译。在程序运行之后,
只要一个简单的命令就生成了前面所示的列表。(我稍微改变了一些输出的格式。)每行左侧的数
由性能监视工具生成,用于说明相应的行执行了多少次。例如,main函数调用了1次,其中测试
了999个整数,找出了168个素数。函数prime被调用了999次,其中168次返回1,另外831次返回
0 (快速验证:168+831=999 )。prime函数共测试了78 022个可能的因子,或者说为了确定素数
性,对每个整数检查了大约78个因子。
程序P1是正确的,但是很慢。在VAX-11/750上,计算出小于1000的所有素数约需几秒钟,但
计算出小于10 000 的所有素数却需要3分钟。对这些计算的性能监视表明,大多数时间花在了测
n
试因子上。因而下一个程序只对n考虑不超过 的可能的整数因子。整型函数root先把整型参
数转换成浮点型,然后调用库函数sqrt,最后再把浮点型结果转换回整型。程序P2包含两个旧
函数和这个新函数root。
程序P2
int root(int n)
5456 { return (int) sqrt((float) n); }
int prime(int n)
{ int i;
999 for (i = 2; i = root(n); i++)
5288 if (n % i == 0)
831 return 0;
168 return 1;
}
main()
{ int i, n;
1 n = 1000;
1 for (i = 2; i = n; i++)
您可能关注的文档
- 小学普通话科一站式套装教学材料申请表格.PDF
- 小学部校服(1-5年级).PDF
- 尤溪一中洋中分校2012~2013学年(下)第一次月考.doc
- 局部注射低浓度平阳霉素治疗眼睑黄色瘤.PDF
- 居家环境污染与CA-MRSA感染复发之相关性.PDF
- 居室环境质量已被广大家居装饰消费者逐步重视起来。如何.doc
- 屈飚贤.PDF
- 届本科生在校外单位进行毕业设计(论文)申请表.doc
- 屋换新装好过年.PDF
- 山东基建.PDF
- 人教版八年级上册语文第三单元第12课《记承天寺夜游》教学课件(2025新教材).pptx
- 2026届新高考地理热点冲刺复习碳排放与生态安全.pptx
- 2026年基于问题情境的高中地理说题.pptx
- 2026届新高考政治热点复习依法有效保护财产权.pptx
- 2026届新高考地理热点冲刺复习太阳视运动.pptx
- 自然资源与人类活动+2025-2026学年高二地理湘教版(2019)选择性必修3.pptx
- 2026届新高考地理热点冲刺复习冲淤平衡原理.pptx
- 天气系统2025-2026学年高中地理湘教版(2019)选择性必修一.pptx
- 农业的区位选择鲁教版(2019)高中地理必修二.pptx
- 人口分布高中地理鲁教版(2019)必修二.pptx
文档评论(0)