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