【Rust日报】2023-10-23 让 Rust 编译器快 5% 的奇怪窍门

2023-10-25 06:30

本文主要是介绍【Rust日报】2023-10-23 让 Rust 编译器快 5% 的奇怪窍门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

让 Rust 编译器快 5% 的奇怪窍门

在 Linux 上,如果您启用了 Transparent Huge Pages,则可以尝试使用环境变量 MALLOC_CONF="thp:always,metadata_thp:always" 运行 cargo 以获得潜在的约 5% 的速度提升。

$ export MALLOC_CONF="thp:always,metadata_thp:always"
$ cargo build

原文链接 https://kobzol.github.io/rust/rustc/2023/10/21/make-rust-compiler-5percent-faster.html

在 smol 中重构 并发 futures combinators

smol 是一个小型、快速的 Rust 异步库。它提供了一个简单的 API,用于并发地执行 futures。

futures combinators 是用于组合 futures 的函数。它们可以用于实现复杂的并发操作,例如并行执行 futures、等待多个 futures 完成、或将多个 futures 合并为一个 future。

本文介绍了如何在 smol 中实现 futures combinators。

原文链接 https://notgull.net/futures-concurrency-in-smol/

dioxus-material: dioxus + material design

这是一个 UI 框架, dioxus 中可以用的 material design, 目前项目刚开始.

使用例子:

Theme {Button { onclick: |_| log::info!("clicked!"), "Click me!" }Icon { kind: IconKind::Home, is_filled: true, size: 100. }TextButton { onclick: |_| log::info!("clicked!"), "Click me!" }TabRow {onselect: |idx| log::info!("{}", idx),tabs: cx.bump().alloc([render!(Tab { "Tab 1" }),render!(Tab { "Tab 2" }),render!(Tab { "Tab 3" }),])}TextField {label: "Text field",value: "{value}",onchange: move |event: FormEvent| value.set(event.value.clone())}
}

原文链接 https://github.com/matthunz/dioxus-material

预览地址 https://matthunz.github.io/

--

From 日报小组 BobQ, FBI小白

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

这篇关于【Rust日报】2023-10-23 让 Rust 编译器快 5% 的奇怪窍门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

第二十四章 rust中的运算符重载

注意 本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的运算符重载 目录 注意一、前言二、基本使用三、常用运算符四、通用约束 一、前言 C/C++中有运算符重载这一概念,它的目的是让即使含不相干的内容也能通过我们自定义的方法进行运算符操作运算。 比如字符串本身是不能相加的,但由于C++中的String重载了运算符+,所以我们就可以将两个字符串进行相加、但实际