---
title: 选项 -fipa-reorder-fields
description: "内存空间布局优化之结构体重排优化，根据结构体成员所占空间大小，将其按从大到小的顺序重新排列，以减少因边界对齐引入的padding，从而降低结构体整体内存占用，并提高cache的命中率。 例如，将以下结构体"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/hgcc/hist-hgcc/kunpenghgcc_06_0022.html
sourcePath: /source/zh/kunpengdevkithistory/hgcc/hist-hgcc/kunpenghgcc_06_0022.html
indexId: 19c17bc8835dbb82cd30e0439a2cdb8dabf4035aaa5ec0b6a75f48571e7ebb1771
---
# 选项 -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%。
