LLVM 10 影响 Rust 性能,导致编译时间变长
外媒 Phoronix 在进行基准测试后发现,与 LLVM/Clang 9.0 相比,Clang 10.0 的基准测试结果整体上不错,至少没有出现明显的倒退。但是,当 Rust 将其编译器基础迁移到 LLVM 10.0 后,对于 Rust 来说,情况似乎不太一样。
红帽公司的 Rust 开发者 Josh Stone 在上周五发表邮件称,在编译相同的代码库时,LLVM 10.0 编译其 Git master 主分支代码不仅花费了更长的构建时间,而且生成了更多的指令。
Josh 和其他开发者发现,与使用 LLVM 9.0 相比,LLVM 10.0 会导致 Rust 编译时间变慢 7~8%。在邮件列表的一个帖子中,他指出从 LLVM 9.x 到 10.x 在测试代码库上生成的指令大约多了 5.3%,而从 LLVM 10.x 到 LLVM 11 Git master 分支,此项数据又增加了 4.8%。
这个问题目前尚未被解决,不过多个 Rust 开发者在 LLVM 10 中重现了同样的行为并得出相似的结果,并且从数据上看,问题对性能的影响比较大,希望不久后可以解决。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
smart-doc 1.8.6 发布,Java 零注解文档生成工具
smart-doc是一个java restful api文档生成工具, smart-doc完全基于接口源码分析来生成接口文档,完全做到零注解侵入,你只需要写上java的标准注释,smart-doc就能帮你生成一个简易明了的Markdown、Html、AsciiDoc文档和Postman collection一键导入的测试数据。如果你不喜欢其他工具强侵入的注解污染,smart-doc给你一个不错的选择!喜欢smart-doc的用户也不要忘记给项目star,你们的支持是smart-doc持续推进的动力。 功能特性 零注解、零学习成本、只需要写标准java注释。 基于源代码接口定义自动推导,强大的返回结构推导。 支持Spring MVC,Spring Boot,Spring Boot Web Flux(controller书写方式)。 支持Callable,Future,CompletableFuture等异步接口返回的推导。 支持JavaBean上的JSR303参数校验规范,支持分组验证。 对json请求参数的接口能够自动生成模拟json参数。 对一些常用字段定义能够生成有效的模拟值。 支...
- 下一篇
每日一博|Dubbo 分析之心跳设计
前言 谈到RPC肯定绕不开TCP通信,而主流的RPC框架都依赖于Netty等通信框架,这时候我们还要考虑是使用长连接还是短连接: 短连接:每次通信结束后关闭连接,下次通信需要重新创建连接;优点就是无需管理连接,无需保活连接; 长连接:每次通信结束不关闭连接,连接可以复用,保证了性能;缺点就是连接需要统一管理,并且需要保活; 主流的RPC框架都会追求性能选择使用长连接,所以如何保活连接就是一个重要的话题,也是本文的主题,下面会重点介绍一些保活策略; 为什么需要保活 上面介绍的长连接、短连接并不是TCP提供的功能,所以长连接是需要应用端自己来实现的,包括:连接的统一管理,如何保活等;如何保活之前我们了解一下为什么需要保活?主要原因是网络不是100%可靠的,我们创建好的连接可能由于网络原因导致连接已经不可用了,如果连接一直有消息往来,那么系统马上可以感知到连接断开;但是我们系统可能长时间没有消息来往,导致系统不能及时感知到连接不可用,也就是不能及时处理重连或者释放连接;常见的保活策略使用心跳机制由应用层来实现,还有网络层提供的TCP Keepalive保活探测机制; TCP Keepaliv...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6