通过sysboost代码重排技术对可执行文件和动态库文件在线重排操作,优化代码与运行环境的CPU微架构的适应性, 提升程序性能。该技术在保证程序语义和意图不变的情况下, 优化汇编指令, 代码布局, 数据布局, 内存大页, 系统调用等。
微架构优化技术
应用极速加载
通过内核exec单次加载全部代码段, 避免多次系统调用。预先解析动态库符号,避免应用启动阶段反复解析影响加载速度。
消除PLT跳转
应用代码调用动态库函数的流程,需要先跳转PLT表,然后跳转真实函数,消除PLT跳转能提升IPC。
热点代码段在线重排
通过在线重排技术可以实现热点代码按代码粒度重排。将分散的动态库的代码段数据段拼接聚合,然后使用大页内存提升iTLB命中率。
exec原生大页
用户态大页机制需要应用修改配置和重编译,exec原生大页机制直接在内核加载ELF文件阶段使用大页内存。
请参考openEuler/docs下sysBoost章节;
请参考openEuler/docs下sysBoost章节;
- 发现BUG或者有新需求请提issue; https://gitee.com/openeuler/sysboost/issues
- 修复BUG或者新特性的补丁请通过Pull Request提交;