在嵌入式/移动环境中,当我们为其开发软件时必须考虑电池电量消耗,因此节能软件编程在嵌入式/移动世界中很重要.
问题是,(关于 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 .../
}
Run Code Online (Sandbox Code Playgroud)
简单地说,如果我们想要测量这些代码变化如何@point1影响能效(相对于稳定版本统计)而不是分析空间和时间(性能加内存),如果我们想在C中构建一个简单的能量/功率分析和分析工具/ C++,
point1,如何确定相应平台上任意CPU或GPU的每条指令的功耗?