GreptimeDB: 基于 Rust 的时序数据库0.7版本发布
基于 Rust 的时序数据库 GreptimeDB 发布了 0.7 版本。新版本实现了针对云原生监控场景优化的 Metrics Engine,在逻辑上支持 Prometheus 的单值数据模型的同时,底层采用更紧凑的存储大幅提升性能和降低成本。Greptime 团队将在本周四进行线上直播介绍新版本的功能并进行演示,欢迎关注。
crates.io: 下载变化
随着Rust社区的增长,crates.io的下载和包数量每年增加2-3倍,这种增长带来了一些挑战,其中最重要的挑战之一是所有的下载请求都经过crates.io API,有时会导致规模扩展问题。解决这些问题的方法是从2024年3月12日开始,cargo将直接从静态.crates.io CDN服务器下载crate,而不再通过crates.io API。这一变化不需要对cargo或用户的系统进行任何更改,而是通过修改package index上的config.json文件来实现的。过去几个月,crates.io后端已经进行了一系列改变,包括宣布“非规范”下载的废弃、更改下载计数方式等,以便支持直接从CDN服务器下载。预期这些改变将显著提高下载的可靠性和速度,并将持续监控系统的性能以确保改变的预期效果。同时,也将联系那些不使用config.json文件来构建下载URL的非cargo构建系统的维护人员,确保他们了解这一变化并更新系统以使用新的下载URL。
cargo-wizard: 自动化配置项目
cargo-wizard 是一个 Cargo子命令,可以自动化Cargo项目配置,以实现最大运行时性能、最快编译时间或最小二进制大小。尽管Rust的编译时间、运行时性能和二进制大小不断改善,但并非所有优化都会默认应用,用户可能需要使用许多可用的配置选项来启用它们。cargo-wizard可以在几秒钟内将三个预定义模板应用到Cargo工作区,并允许用户自定义模板,显示可用的配置选项。
biscotti: 新的 http cookie 库
biscotti 是一个新的 http cookie 库, 他的API力求尽可能忠实于HTTP cookies的基本语义,并关注边缘情况和安全性
structural-convert: 结构转换宏
当 struct 的结构类似时,可以用于快速创建 From
,Into
,TryFrom
,TryInto
等转换实现
示例代码
#[derive(Debug, PartialEq)]
struct Rhs {
z: i8,
x: u32,
}
#[derive(Debug, PartialEq, StructuralConvert)]
#[convert(from(Rhs))]
struct Lhs {
z: i32,
x: u32,
}
assert_eq!(Lhs { z: 1, x: 2 }, Rhs { z: 1, x: 2 }.into());
assert_eq!(Lhs { z: 1, x: 2 }, Rhs { z: 1, x: 2 }.into());
--
From 日报小组 BobQ, FBI小白
社区学习交流平台订阅:
评论区
写评论还没有评论