我想知道是否存在用于在源代码级别报告结果的程序的功率分析工具。例如,报告特定源代码行、函数、模块等的功耗的分析结果。
对我来说,语言和平台并不重要。只是想知道是否有这种动物。
最佳答案
目前大学正在对此进行研究,但仍处于实验阶段,我还不知道这方面的商业工具。
我母校的一位教授正在研究这个,他称之为Green Mining: The Effect of Software Change on Power Consumption 。现在它涉及连接一个Kill-a-Watt通过 USB 连接到另一台计算机并记录大量数据,同时在软件上运行受控测试。对于移动设备,情况变得更加复杂,因为您必须连接电路板才能实时测量电池的功耗:
最终将会出现统计模型,基于通过对各种其他代码运行功率测试收集的数据,将能够为您提供源代码的功率配置文件,而无需所有这些硬件。您的 IDE 会警告您:“您确定要这样做吗?与其他方法相比,这将使笔记本电脑的平均电池生命周期缩短 3 分钟。”不过,这还有很长的路要走。
我依稀记得听说最初的结果之一是类继承层次结构的深度与功耗正相关......浏览these papers如果你有兴趣!
关于profiling - 源代码功率分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14484719/