中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

选项 -fipa-reorder-fields

内存空间布局优化之结构体重排优化,根据结构体中成员的占用空间大小,将成员从大到小排列,以减少边界对齐引入的padding,来减少结构体整体占用的内存大小,以提高cache的命中率。 将以下结构体

struct S
{
  double a;
  int b;
  double c;
  double d;
  short e;
  double f;
  double g;
  double h;
  double i;
};

经过重排后转化为:

struct S.reorder
{
  double a;
  double i;
  double c;
  double d;
  double f;
  double g;
  double h;
  int b;
  short e;
}

适用方法

在选项中加入-O3 -flto -flto-partition=one -fipa-reorder-fields

-fipa-reorder-fields选项,需要在-O3 -flto -flto-partition=one全局同时开启的基础上才使能。

SPEC性能提升效果:SPECCPU2017 intrate 505.mcf子项性能提升20%。