小编Din*_*hi 的帖子

如何测量代码变化的功率增加或减少

在嵌入式/移动环境中,当我们为其开发软件时必须考虑电池电量消耗,因此节能软件编程在嵌入式/移动世界中很重要.

问题是,(关于 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++,

  • 是否有任何推荐的C/C++库或源来构建功耗分析工具?
  • 如果我们必须通过每个代码更改的CPU/GPU指令级别更改来分析和确定功耗级别的变化,例如point1,如何确定相应平台上任意CPU或GPU的每条指令的功耗?
  • 开发人员如何知道在应用程序构建时而不是运行时因代码更改而减少或增加了多少功耗?

c c++ embedded mobile profiling

5
推荐指数
1
解决办法
199
查看次数

标签 统计

c ×1

c++ ×1

embedded ×1

mobile ×1

profiling ×1