diff --git "a/Test_Result/openEuler-25.09/openEuler-25.09\347\211\210\346\234\254 LLVM_aggressive inline\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openEuler-25.09/openEuler-25.09\347\211\210\346\234\254 LLVM_aggressive inline\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000000000000000000000000000000000000..2d92689c099d868e8fec9167252d3281e84a431f --- /dev/null +++ "b/Test_Result/openEuler-25.09/openEuler-25.09\347\211\210\346\234\254 LLVM_aggressive inline\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,96 @@ +![avatar](../../images/openEuler.png) + +版权所有 © 2023 openEuler社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---------- | ----------- | ------------------------------ | ---------- | +| 2025/09/11 | v 0.0.1 | 新增自适应内存拷贝特性测试结果 | xiongyikun | + +关键词: aggressive inline + +摘要:提供编译选项忽略noinline属性, 以获取性能提升。 + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| - | - | - | + +# 1 特性概述 + +用户在编写代码时,在函数定义时加入 ``__attribute__((noinline)) ``属性,使该函数无法内联进被调用点,一般用户出于调试、压力测试、实验等目的添加该属性,并可能忘记删除。一般情况下内联函数会带来额外的性能收益,并且使编译器能够挖掘更多的优化机会,因此aggressive inline特性能够忽略noinline属性,激进的强制内联相关函数。 + +# 2 特性测试信息 + +本章节描述被测对象的版本信息 + +本节描述被测对象的版本信息和测试的时间及测试轮次,包括依赖的硬件。 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| ---------- | ------------ | ------------ | +| LLVM 25.09 | 2025/08/13 | 2025/08/20 | + +描述特性测试的硬件环境信息 + +| 硬件型号 | 硬件配置信息 | 备注 | +| --------- | ------ | ------- | +| 鲲鹏 920 主机 | NA | aarch64 | +| Intel服务器 | NA | x86_64 | + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +共进行三轮测试,前两轮测试执行包括: 特性包构建,全量版本验证,主要测试内容包括aggressive inline特性引入后对全量版本构建没有影响、该特性使能正常, 第三轮测试包含以下内容, 使能aggressive inline特性后, 功能正常,未发现新增问题,遗留问题数0,整体质量良好。 + +| 测试活动 | 测试子项 | 活动评价 | +| -------- | ------------------------- | -------- | +| 功能测试 | aggressive inline功能测试 | 测试通过 | +| 性能测试 | mysql性能测试 | 测试通过 | + +# 4 详细测试结论 + +## 4.1 功能测试 + +### 4.1.1 aggressive inline功能测试 + +- 测试环境: openEuler 22.03(aarch64/x86_64) +- 测试步骤: 在用例中构造不同返回值类型的nonline属性函数, 使能该特性后检查函数是否inline + +| 测试子项 | 测试结果 | +| ---------------------------------- | ----------------------------- | +| aggressive inline功能测试(aarch64) | PASS | +| aggressive inline功能测试(x86) | PASS | +| mysql编译运行测试 | PASS | + +### 4.1.2 aggressive inline性能测试 + +- 测试环境: openEuler 22.03(aarch64/x86_64) +- 测试步骤: 使能ICP增强和aggressive inline特性后对mysql进行benchmark性能测试, 和不使能特性选项时的benchmark测试结果进行对比 + +| 测试子项 | 测试结果 | +| ------------- | -------------------------------- | +| mysql性能测试 | 叠加ICP增强特性后, 性能提升2.17% | + +# 5 测试执行 + +第三轮测试结果统计如下, + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| --------------- | ---------- | ------------ | ------------ | +| openEuler 25.09 | 4 | 100% 通过 | 0 | + +综上,特性质量评估如下: + +| 特性名称 | 特性质量评估 | 备注 | +| ---------------------------------- | :------------------------: | ---- | +| aggressive inline功能测试(aarch64) | | - | +| aggressive inline功能测试(x86) | | - | +| mysql编译运行测试 | | - | + +: 表示特性不稳定,风险高 +: 表示特性基本可用,遗留少量问题 +: 表示特性质量良好 \ No newline at end of file