Rust-Analyzer:暂停每周发布版本,正切换到新的 trait 解析器
下一代特征求解器更新:我们即将从 chalk 切换到下一代特征求解器 (next trait solver),该求解器将与 chalk 共享。chalk 目前无人维护,与编译器共享代码将大幅提升特征求解的准确性,并修复 rust-analyzer 中长期存在的问题。这还能让我们启用更多实时诊断功能(目前标记为实验性),甚至显著提升性能。
特征求解器在自动补全功能中也得到了广泛应用,尤其是在方法方面。我个人预计新的特征求解器能够显著降低编辑延迟,尤其是在规模较大、特征密集的项目上。我们目前尚未实现任何并行性的极度不确定的基准测试表明,其速度比 Chalk 提升了近 3 倍!需要注意的是,由于内存占用问题,目前速度提升尚未在夜间版本上线,但我们会逐步实现。
自动补全功能如此大量使用特征求解器的原因是,为了提供基于特征的方法的补全,rust-analyzer 需要检查方法接收者是否实现了给定的特征,即使是非导入的特征。检查给定方法接收者的所有特征,即使考虑到孤立规则(大约一年半前我实现它时,这让我们的速度提升了 2 倍!),复杂度为 O(crates) 。
Reddit:https://www.reddit.com/r/rust/comments/1mtfwjf/rustanalyzer_weekly_releases_paused_in/
文章《减少在使用 Rust 的 AWS SDK 时的过度克隆》
这篇文章探讨了在 Rust 中使用 AWS SDK 时如何减少不必要的克隆(clone()
)操作以优化内存使用和性能。
作者通过一个 IAM 访问密钥审计工具的开发案例,展示了如何通过使用 AWS SDK 提供的内置访问器方法(如 role_id()
)来避免克隆整个对象,从而减少内存分配。
文章还介绍了如何使用 Heaptrack
工具对 Rust 程序进行内存分配分析,以验证优化效果。结果显示,减少克隆操作可以显著降低运行时内存分配次数,提升性能。
阅读:https://blog.kelusa.id/programming/reducing-cloning-overhead-in-aws-sdk-for-rust/
Reddit:https://www.reddit.com/r/rust/comments/1mua2k6/reducing_excessive_cloning_when_working_with_aws/
Theta:异步 Actor 框架
Theta 是一个为 Rust 设计的异步参与者框架,旨在提供高效、简洁且高性能的异步编程模型。
它基于 tokio
构建,支持内置的远程通信(通过 P2P 网络)、监控功能、持久化(从快照恢复参与者)和 WebAssembly 支持。Theta 的核心特性包括:
- 异步参与者:每个参与者实例是一个轻量级的
tokio::task
包装。 - 远程通信:支持跨网络边界的参与者引用传递。
- 监控和持久化:提供参与者状态的监控和从文件系统或 AWS S3 等恢复的能力。
- WASM 支持:可编译为 WebAssembly,适用于浏览器或其他 WASM 环境。
Theta 目前仍在积极开发中,API 可能会变化,不建议用于生产环境。
仓库:https://github.com/cwahn/theta
Reddit:https://www.reddit.com/r/rust/comments/1mtf9c5/introducing_theta_an_async_actor_framework_for/
Doxx:终端 .docx 文件文档查看器,无需安装 Microsoft Word
doxx
是一个用 Rust 编写的终端原生文档查看器,专门用于查看 .docx
文件,无需安装 Microsoft Word。它具有以下特点:
- 快速渲染:支持语法高亮、格式化、表格显示、嵌套列表和全文搜索。
- 智能表格处理:自动检测表头、对齐数据、支持多种数据类型。
- 复制到剪贴板:支持从终端 UI 复制内容,支持不同视图模式。
- 导出功能:支持导出为 Markdown、CSV、纯文本和 JSON 格式。
- 跨平台支持:适用于 Windows、macOS 和 Linux(X11/Wayland)。
doxx
旨在填补终端中查看 Word 文档的空白,提供丰富的交互式体验,同时支持脚本化和自动化工作流。它比现有的文本提取工具更强大,保留了格式化和表格对齐,并且比其他终端查看器更专注于商业文档。
仓库:https://github.com/bgreenwell/doxx
Reddit:https://www.reddit.com/r/rust/comments/1msyntz/just_released_doxx_a_terminal_docx_viewer/
--
From 日报小组 苦瓜小仔
社区学习交流平台订阅:
评论区
写评论还没有评论