前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2024-02-06 Polars 重写字符串数据结构

【Rust日报】2024-02-06 Polars 重写字符串数据结构

作者头像
MikeLoveRust
发布2024-02-17 16:18:29
1570
发布2024-02-17 16:18:29
举报
文章被收录于专栏:Rust语言学习交流

Rust Web 框架的错误报告不达标

作者已有6年使用 Rust 构建生产应用的经验,并对 Rust 中的 web 框架有深入了解。他认为,目前主流的 Rust Web 框架在错误报告方面表现不尽如人意,而高效的错误报告对于快速响应和解决问题极为关键。

作者以 axum 和 Actix Web 为例,探讨了它们在错误报告方面的现状,发现的问题如:

  1. 无法全面记录错误信息
  2. 难以追踪错误源。

作者同时推荐了自己实现的框架 Pavex ,其优势在于: Pavex 通过新的错误处理设计,提供了更全面和灵活的错误报告功能,能够更有效地捕捉和记录错误信息。

作者认为,虽然现有的 Rust Web 框架在错误报告方面有所不足,但他们的设计并非无法改进。Pavex 的出现证明了通过更好的设计,可以有效提升错误报告的效能,这对于 Rust Web 框架的发展是一个积极的信号。

原文链接 https://www.lpalmieri.com/posts/rust-web-frameworks-have-subpar-error-reporting/

Google 向 Rust 基金会提供 100 万美元的资助

Google 高兴地宣布,为了支持提升 Rust 代码与现有遗留 C++ 代码库的互操作性,向 Rust 基金会提供了 100 万美元的资助。自 2021 年加入 Rust 基金会以来,Google 在 Android 及其他产品中广泛采用了 Rust。此外,Google 还通过汇总和发布其在开源项目中使用的 Rust crates 的审计结果,进一步支持开源 Rust 社区。

Google 已经在 Android 中看到 Rust 使用的显著增长,我们继续将其使用范围扩展到更多应用程序,包括客户端和服务器硬件。

Google 通过 Rust 基金会的互操作性倡议以及与 Rust 项目的合作,支持这项工作,以确保任何添加都是适当的,并解决使用 C++ 的项目在采用 Rust 方面面临的挑战。

原文链接 https://security.googleblog.com/2024/02/improving-interoperability-between-rust-and-c.html

Polars 重写字符串数据结构

最初,Polars 采用了 Arrow2 crate(Rust 实现的 Arrow 规范),这限制了对字符串类型的修改。但随着 Polars 从 Arrow2 分支出 polars-arrow,他们获得了更多的自主权,从而进行了重构。

重构的主要动机是:原有的 Apache Arrow 规范支持的字符串类型由三个缓冲区定义,但这种方式在数据预分配和处理大字符串时效率低下,在 gather filter 等数据处理的核心操作下,效率不佳。

重构之后,采用了 Hyper/Umbra 数据库系统设计的方法,其中字符串以16字节的形式存储在列中。这种方法对于小字符串和大字符串都有优势,如内联存储、固定宽度访问和高效的垃圾回收。

Polars 团队对不同选择性的过滤操作进行了基准测试,结果显示新字符串类型在几乎所有情况下都优于旧类型,特别是在处理大字符串时。

总的来说,重写字符串数据类型是一个巨大的努力,但它显著提高了处理字符串数据的效率和性能。Polars 团队期待未来通过进一步优化内存缓冲区来获得更多性能提升。

原文链接 https://pola.rs/posts/polars-string-type/

-- From 日报小组 RustPlumber

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rust Web 框架的错误报告不达标
  • Google 向 Rust 基金会提供 100 万美元的资助
  • Polars 重写字符串数据结构
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档