西安企业网站建设托管,重庆今天新闻发布会直播,邢台信息港招聘,wordpress 制作首页模板GCC for openEuler是基于开源GCC开发的编译器工具链#xff08;包含编译器#xff0c;汇编器#xff0c;链接器#xff09;#xff0c;在openEuler社区开源发布#xff0c;并通过鲲鹏社区免费提供二进制包#xff0c;支持aarch64处理器架构。
关键特性 支持鲲鹏微架构芯…GCC for openEuler是基于开源GCC开发的编译器工具链包含编译器汇编器链接器在openEuler社区开源发布并通过鲲鹏社区免费提供二进制包支持aarch64处理器架构。
关键特性 支持鲲鹏微架构芯片及指令优化 通过软硬协同提供相较开源GCC更高的性能 高性能计算典型应用性能深度优化 支持自动反馈优化实现数据库等场景性能倍增
测试环境
CPU: 鲲鹏 920 128 core
内存500G
硬盘500G SSD
操作系统openEuler 20.03
测试数据库postgreSQL 13.6 Yukon 1.0.1
测试工具pgbench
测试案例
案例编号案例说明Basic_Performance_Test_001数据更新Basic_Performance_Test_002空间包含查询Basic_Performance_Test_003数据写入复制
测试 SQL
Basic_Performance_Test_001
update t_polygon_gis set geom ST_Buffer( ST_MakePoint(random()117, random()31), 0.016) where id 899 and id1000; Basic_Performance_Test_002
select count(*) from public.shopserver a, bj_1 b where ST_Contains(b.smgeometry, a.smgeometry);Basic_Performance_Test_003
create table t_polygon_gis_copy as select id,geom from t_polygon_gis;测试步骤
我们将通过在同一机器上测试通用 GCC 和 GCC for openEuler 对于特定场景的性能进行对比测试。 使用 GCC for openEuler 和通用 GCC 分别编译 postgreSQL 13.6 数据库 创建两个独立的用户 pggcc 和 pgopengcc 用来进行测试安装通用 GCC安装 GCC for openEuler ,可参考鲲鹏社区官方文档设置环境变量确保 pggcc 和 pgopengcc 使用正确的 GCC 程序使用 configure 配置然后编译即可。 编译 Yukon 1.0.1 Yukon 的编译可以参考 Yukon 的官方文档进行操作。 设置数据库参数 设置数据库最大连接数为 1000 开始测试 测试通过 pgbench 单线程和多线程结合的方式进行测试。 pgbench 命令示例 pgbench test -r -n -t 20 -c 100 -j 50 -U yukontest -p 25432 -P 5 -f Business_Performance_Test_001.sql其中 test:测试使用的数据库 -t 20: 每个客户端执行的事务数 -c 100: 客户数 -j 50: 线程数 -U yukontest: 数据库用户名 -p 25432: 数据库连接端口号 -f Business_Performance_Test_001.sql: 测试案例文件
测试结果
测试案例性能提升GCC for openEuler 对比 通用 GCCBasic_Performance_Test_00128.89%Basic_Performance_Test_0027.45%Basic_Performance_Test_00318.53%
测试结论
通过测试的结果我们可以看到GCC for openEuler 相对于通用的 GCC 在数据库的使用中有较为明显的性能提升。最高可提升 28%。