程序的“听诊器”——性能监视工具( 四 )


人们实现过一些快速性能监视工具 , 但鲜见报道 。 下面举几个例子 。
在1983年8月的 BYTE 杂志上 , Leas和Wintz描述了一个性能监视工具 , 用一个20行的6 800汇编语言程序来实现 。
贝尔实验室的Howard Trickey在一小时内用Lisp实现了函数计数 , 办法是修改defun , 在进入每个函数时给计数器加1 。
1978年 , Rob Pike用20行Fortran程序实现了一个时间性能监视工具 。 在CALL PROFIL(10)之后 , 后续的CPU时间被计入计数器10 。
在这些系统和许多其他系统上 , 在一晚上写出一个性能监视工具是可能的 。 在你第一次使用所得到的性能监视工具时 , 这个工具轻易就能节省超过一个晚上的工作量 。
5 原理本文只浮光掠影地介绍了性能监视 。 我介绍了最基础的内容 , 忽略了搜集数据的其他方式(比如硬件监视器)和其他显示方式(比如动画系统) 。 本文所要传达的信息同样是基本的 。

  • 使用性能监视工具 。 让本月成为性能监视工具月 。 请在随后几周内至少监视一个程序片段的性能 , 并且鼓励你的伙伴们也这样做 。 记住 , 当一个程序员屈尊来帮助一个小程序时 , 并不总是高瞻远瞩的 。
  • 开发性能监视工具 。 如果你还没有方便的性能监视工具 , 就自造一个吧 。 大多数系统都提供基本的性能监视操作 。 20世纪60年代不得不观察控制台灯光来获得信息的程序员 , 现在可从个人工作站的图形窗口获得同样的信息 。 一个小程序通常足以把系统的命令特性包装成方便的工具 。
本文节选自《编程珠玑(续)(修订版)》
程序的“听诊器”——性能监视工具文章插图
内容简介
本书是计算机科学方面的经典名著《编程珠玑》的姊妹篇 , 讲述了对于程序员有共性的知识 。 本书延续了《编程珠玑》的特色 , 通过一些精心设计的有趣而又颇具指导意义的程序 , 对实用程序设计技巧及基本设计原则进行透彻而睿智的描述 , 为复杂的编程问题提供清晰而完备的解决思路 。 书中涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例 , 这些内容结合成一个有机的整体 , 如一串串珠玑展示给程序员 。 本书对各个层次的程序员都具有很高的阅读价值 。