主要观点:作者在工作中为确定程序运行缓慢的原因而研究配置文件,虽找出部分耗时代码并进行优化使其运行时间减少 80%,但后来发现未解决根本问题,且在解读配置文件时出现错误,强调应读代码而非仅依赖配置文件,关注代码运行原因而非微优化已运行代码。
关键信息:作者在编译器工作,程序编译小项目原本需 5s 左右,展开循环后变为 45s,使用-prof
和+RTS -p
模式生成配置文件,最初配置文件显示MAIN
占 100%时间,展开后仍未明确问题,最终找到compileProgram
或transformSSA
可能是问题所在,通过读代码发现是算法问题导致运行时间长。
重要细节:作者起初浪费时间优化非关键代码,未从配置文件中准确找到问题,后来发现以百分比衡量的优化在软件中只是线性改进,真正问题是程序编译需大量指令,且解读配置文件时应关注代码运行原因而非仅看 100%节点,读代码能更直接找到问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。