Apple M2 for Linux 的 GCC 与 LLVM Clang 编译器性能对比
科技媒体 Phoronix 对运行在 Linux 上的 Apple M2 芯片 的 GCC 和 LLVM Clang 编译器进行了性能测试和对比。
此次测试采用的设备是 Apple M2 MacBook Air ,运行基于 Arch 的 Asahi Linux 系统(这是目前唯一能够运行最新 Apple M2 芯片的发行版),测试基于 Linux 5.19 内核,编译器版本分别是 LLVM Clang 14.0.6 和 GCC 12.1,它们都是 Arch/Asahi 最新版本的编译器。在所有测试中,CFLAGS/CXXFLAGS 保持不变,针对 -O3 优化级别。
一共进行了数十种不同的 C/C++ 基准测试,旨在观察在运行 Linux 的 Apple M2 芯片上,GCC 12 和 Clang 14 生成的二进制文件哪个性能更佳。
测试结果如下:(选取部分结果)
可以看到,尽管 LLVM Clang 被 AArch64 供应商广泛使用,且 Apple 在上游 LLVM 上投入巨资,作为其 Xcode 使用的一部分。但至少在(Asahi)Linux 上运行时,GCC 12 编译器仍有一些二进制文件比 Clang 编译出来的更快,性能更好。
当然,LLVM Clang 也不落下风,在相当多程序中的表现超越 GCC 。
下面上最终结果:GCC 和 Clang 编译器在不同领域分别有很强的先发优势,如果采用所有测试结果的几何平均值,在运行 Asahi Linux 的 Apple M2 MacBook Air 上进行测试时,GCC 12 比 Clang 14 快了近 7%。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LibreOffice 对很少使用的 OpenCL 进行代码清理
Collabora 的工程师 Luboš Luňák 一直在对 OpenCL 路径进行一些代码清理。其中包括:重写了一些代码、删除 OpenCL CONVERT() 实现、放弃 OpenCL 中字符串代码的“stupid”想法,以及一些优化。 2013 年,AMD 在推动他们的异构系统架构 (HSA) 时加入了文档基金会,并希望在这个开源办公套件中利用 OpenCL 加速。此后不久,他们向 LibreOffice 添加了许多 OpenCL 功能;但在十年后的今天,其似乎已经没什么用了。 Phoronix 称,AMD 的 HSA 努力从未像预想的那样成功;遗憾的是,OpenCL 的采用也从未在 Linux 桌面上取得成功。如今,AMD 也不再是 The Document Foundation 的顾问委员会成员。 LibreOffice 中 GPU OpenCL 的使用在处理大量 Calc 电子表格时显示出了潜力,但大多数 Linux 桌面发行版至少仍然没有提供开箱即用的 OpenCL 支持;且对于 AMD 的开源驱动程序之类的,自从 HSA 时代以来他们就放弃了使用 Gallium3D ...
- 下一篇
从用户到开发者是一种思维进化过程 | 访 StarRocks Committer 周威
身处技术创新驱动的时代,只有开放协作才能带来巨大进步,创造非凡成就。 StarRocks 社区的发起和发展,正是立足于各个开发者的“贡献”和“集智”。 周威,腾讯游戏高级工程师,对 StarRocks、MySQL、Ceph、k8s 等有比较深入的理解。他有着“技术匠人”典型的思维洞察力,认为技术开发就是把自己的想法翻译给计算机听。在开源社区实现了从用户到开发者的思维进化的他,为 StarRocks 社区贡献了 serverless 等多项功能的优化和创新。 近期,经过 StarRocks 社区 PMC 提名与投票,周威接受邀请,正式成为 StarRocks 项目的 Committer。 他在项目上的主要贡献有: 1. 主导了 serverless 的 compute node 的设计,并且实现了 BE 部分的功能 2. 开发了 window_funnel array_contains_all 等函数 3. 完成了 IEG 部分 StarRocks 代码 reivew 工作 4. 推动了 k8s-starrocks-operator 的设计和贡献工作 5. 帮助腾讯 IEG 在大规模使用...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- Windows10,CentOS7,CentOS8安装Nodejs环境