代码大小查看器CodeSizeViewer

之前参加一个项目,就是精简浏览器的体积。把chromium浏览器某些不重要或者不常用的部分去掉,以达到减少体积的效果。但是面对chromium这个山一样的代码仓库,一开始不知道该精简哪部分才有明显效果。

后来想了一个办法,利用DIA(Debug Interface Access)提供访问pdb文件的接口,去统计每个代码源文件生成对应二进制的大小。然后知道哪些代码生成了多大的二进制体积,从而有针对性的去精简chromium中的某些模块。

项目过后自己写了个工具,叫做CodeSizeViewer,封装的的好一些,方便以后使用。只要把pdb文件拖放到对话框窗口上,就会分析出程序代码生成的大小情况,如图:

CodeSizeViewer20141127220529

CodeSizeViewer20141127220529

这个工具其实就是对话框包了一个WebBrowser,程序从pdb上读取出数据,用html展现出来。因为chromium的buildbloat用webtreemap(https://github.com/martine/webtreemap)这个工具来展示数据,效果直观方便,所以我就拿来用了,谢谢作者。

webtreemap对IE内核有些不兼容,做一些修改,再加上了响应边框变化的功能。IE9以下的的js还有有些不兼容的情况,所以程序只支持IE9或者更高版本。有时候需要注册msdia90.dll这个dll,程序写成了需要管理员权限的,否则就需要自己手动注册dll了。

这个工具在这里下载:CodeSizeViewer

发表评论

电子邮件地址不会被公开。 必填项已用*标注