【Rust日报】2020-08-29 生产环境 Rust 序列化库的选择

生产环境选哪一个 Rust 序列化库?

序列化一直是 Rust 的强项,序列化库既成熟又快速。
特别是 Serde 在 Rust 1.0.0 发布以前就已经可用,其背后的理念是使用  trait  解耦对象,并从序列化格式中进行序列化/反序列化,这是一个很是强大的思想。格式编写者只需实现 Serde 的  trait  便可,而用户经过 #[derive(Serialize,Deserialize)] 对其对象进行序列化,而无需考虑格式。
固然有各类特定格式的库,这篇博客文章中,将在考虑 API 可用性和性能的状况下比较一些库。
博客文章 连接 ,https://blog.logrocket.com/rust-serialization-whats-ready-for-production-today/

embedded-time 发布 v0.10

embedded-time,提供了一个完整的持续时间(Duration)和速率(Rate)类型库,以及硬件计时器/时钟的时钟(Clock)抽象以及嵌入式系统中的即时(Instant)类型。此外还提供了软件计时器的实现。
   
use embedded_time::{duration::*, rate::*};

let micros = 200_000_u32.microseconds(); // 200_000 ╬╝s
let millis: Milliseconds = micros.into(); // 200 ms
let frequency: Result<Hertz,_> = millis.to_rate(); // 5 Hz

assert_eq!(frequency, Ok(5_u32.Hz()));
crate  连接 ,https://crates.io/crates/embedded-time

EBU R128 库 ebur128

ebur128 库,是EBU R128 标准的纯 Rust 实现。其是将 C 语言开发的 libebur128 库代码移植到了 Rust,在保持 API 和性能不变的同时,提供彻底相同的结果。
EBU R128,是欧洲广播联盟(European Broadcasting Union)出的一个关于响度(Loudness)控制的建议书(Recommendation),是用来通知广播公司如何分析和标准化音频,以使每段音频听起来与人耳的音量大体相同。
crate  连接 ,https://crates.io/crates/ebur128
Github  连接 ,https://github.com/sdroege/ebur128

Rust 中逼真的流体模拟

用户能够使用这些引擎模拟和渲染用 YAML 语言描述的场景。
Jan Bender 和 Dan Koschier 在该领域的论文《用于基于流体和固体的物理模拟的平滑粒子流体动力学技术》(Smoothed Particle Hydrodynamics Techniques for the Physics Based Simulation of Fluids and Solids),是对流体模拟的出色介绍。
Github  连接 ,https://github.com/AudranDoublet/opr

From 日报小组 洋芋
社区学习交流平台订阅:
  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区

本文分享自微信公众号 - Rust语言中文社区(rust-china)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。git

相关文章
相关标签/搜索