读取代码,而非概要 :: 合理多态性

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

阅读 8
0 条评论