<分区>
在嵌入式/移动环境中,当我们为其开发软件时必须考虑电池功耗,因此节能软件编程在嵌入式/移动世界中很重要。
问题是,(关于 Assembly/C/C++)
认为当它在任意平台上运行时我们有稳定的软件版本 X 它消耗 Y 量的功率(以瓦特为单位),现在我们要执行一些代码变化,我们想衡量它在构建时对能源消耗及其效率的影响。
INT16U x = OXFFFF;
/... some code in stable release .../
for(;x<4096;++x)
{
/... some code in stable release .../
INT64U foo = x >> 256 ? x : 4096 ; // point 1 sample code change;
if(~foo & foo) foo %= 64 ; // point 1 sample code change;
/... some code in stable release .../
}
如果我们想测量此代码如何改变 @point1
对能源效率的影响(相对于稳定版本统计)而不是分析空间和时间(性能加内存),如果我们想用 C/C++ 构建一个简单的能量/功率分析和分析工具,
- 是否有推荐的 C/C++ 库或源代码来构建功耗分析工具?
- 如果我们必须通过每次代码更改的 CPU/GPU 指令级别变化来分析和确定功耗级别的变化,例如在
point1
中,我们如何确定每条指令的功耗各自平台上的任意 CPU 或 GPU? - 开发人员如何知道由于他在应用程序构建时而不是运行时更改代码而减少或增加了多少功耗?