【Rust日报】2021-01-14 rustdoc的性能有了很大的提升!

2024-06-22 23:48

本文主要是介绍【Rust日报】2021-01-14 rustdoc的性能有了很大的提升!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在过去四个月,rustdoc的性能有了很大的提升!

据jynelson回复,在接下来的几天,他将要发表一篇博客,给大家介绍这些性能提升是来自哪些地方。

Read More: https://www.reddit.com/r/rust/comments/kwlpv3/great_improvement_in_rustdoc_performance_in_the/

Rust 书籍宝库

glynnormington整理了网络上大部分有关rust的mdbook,有官方的,也有非官方的。值得注意的一点是大家关注的rust宏小册很多人以为一直没有更新,但是其实有另一个团队重新在原来的基础上,更新了新的版本,目前已收录到该书库中。

Rust 书记宝库: https://lborb.github.io/book/title-page.html

Read More: https://www.reddit.com/r/rust/comments/kwiwb8/the_little_book_of_rust_books/

Ultron - 由rust编写的基于web的文本编辑器

Ultron是基于Web的单空间文本编辑器,具有语法突出显示功能,完全用rust编写。

Github: https://github.com/ivanceras/ultron

为什么Iterator::anyIterator::filter期望不同的闭包?

原帖主在使用迭代器的过程中,发现这两个api期望的闭包参数不一致:

fn any<F>(&mut self, f: F) -> boolwhere    F: FnMut(Self::Item) -> bool
fn filter<P>(self, predicate: P) -> Filter<Self, P>where    P: FnMut(&Self::Item) -> bool

而且发现在使用过程中这样的差异会导致代码不好看:any:

vec![1, 0, 30].iter().any(|&x| x > 0)

filter:

vec![1, 0, 30].iter(). filter(|&&x| x > 0)

于是就在reddit上发帖询问这样设计的原由。

高赞回复:

因为any会消耗迭代器,所以在使用之后不需要返回迭代器中的项(这就是为什么它需要一个Self::Item)。对于filter,过滤之后仍然需要在后续操作中继续使用它的项,如果通过闭包消耗掉它们,后续就无法使用它的项了。所以它需要一个 &Self::Item,以便它可以在之后返回 Self::Item。(Sinceany will consume the iterator, it doesn't need to return the items in 
it after use (which is why it takes a Self::Item). For filter, the 
resulting iterator still needs to return its items after use, and it 
can't do that if it consumes them through the closure. So it takes an 
&Self::Item, so it can return Self::Item later.)
Read More: https://www.reddit.com/r/rust/comments/kw91u1/why_do_iteratorany_and_iteratorfilter_expect/
小编私货

今天是新的一年里我第一次发日报,过去几个月都是用Downtime的花名参与,不过从新的一年里都用Cupnfish了,以后的日子里请大家多多指教。最近一直在尝试bevy,下下周发文之前希望自己也能顺便写个使用感受。

From 日报小组 Cupnfish Jancd

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss

  • 微信公众号:Rust 语言学习交流

这篇关于【Rust日报】2021-01-14 rustdoc的性能有了很大的提升!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085750

相关文章

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

JVisualVM之Java性能监控与调优利器详解

《JVisualVM之Java性能监控与调优利器详解》本文将详细介绍JVisualVM的使用方法,并结合实际案例展示如何利用它进行性能调优,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1. JVisualVM简介2. JVisualVM的安装与启动2.1 启动JVisualVM2

Java使用MethodHandle来替代反射,提高性能问题

《Java使用MethodHandle来替代反射,提高性能问题》:本文主要介绍Java使用MethodHandle来替代反射,提高性能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录一、认识MethodHandle1、简介2、使用方式3、与反射的区别二、示例1、基本使用2、(重要)

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Java的"伪泛型"变"真泛型"后对性能的影响

《Java的伪泛型变真泛型后对性能的影响》泛型擦除本质上就是擦除与泛型相关的一切信息,例如参数化类型、类型变量等,Javac还将在需要时进行类型检查及强制类型转换,甚至在必要时会合成桥方法,这篇文章主... 目录1、真假泛型2、性能影响泛型存在于Java源代码中,在编译为字节码文件之前都会进行泛型擦除(ty