< 返回版块

Mike Tang 发表于 2024-10-10 22:54

P99 CONF的一些以Rust为主题的技术演讲

P99 CONF是一个为热衷于低延迟工程策略和性能优化的工程师而设的免费虚拟社区活动。以下是对一些重点演讲的概述:

  1. Carl Lerche将探讨使用Rust开发数据库应用程序的生产力问题。

  2. Amos Wenger将介绍他使用io_uring和ktls在Rust中开发高性能HTTP实现的工作。

  3. Luc Lenôtre将分享使用Rust编写操作系统内核的经验教训。

  4. Micah Wylde将解释Arroyo流处理引擎的分布式架构和实现。

  5. Will Crichton将使用一个案例研究说明性能工程师的工具箱。

  6. Byron Wasti将深入分析Rust异步函数指针的性能陷阱。

  7. Nikita Lapkov将讨论如何将Rust actor系统elfo转变为分布式服务网格。

  8. Brian Sletten和Ramnivas Laddad将探讨在边缘环境中实现WebAssembly的安全隔离和性能平衡。

该文章还提及了一些其他语言(如Zig、C++、Go和Java)的低延迟相关演讲。

https://www.p99conf.io/2024/10/09/rust-tech-talks/

Rust语言实现的验证代码生成器

prost-validate和prost-reflect-validate,用于生成Protobuf消息验证代码。

prost-validate是基于派生trait的实现,而prost-reflect-validate则是基于反射的实现。两个实现共享了从protoc-gen-validate移植过来的测试套件。

根据基准测试结果,prost-validate的性能明显优于prost-reflect-validate。

该仓库详细列出了两个实现目前支持的各种验证规则,包括数字、布尔值、字符串、字节、枚举、消息、重复字段、映射、OneOf字段、标量值包装器、Any、Duration和Timestamp等不同类型字段的验证规则。通过表格直观展示了每个规则在两种实现中的支持情况。

https://github.com/linka-cloud/prost-validate

观点:Rust语言的设计目标应该是编写高质量代码

本文讨论了Rust语言的设计目标应该围绕编写高质量代码展开。作者认为,相比从语言本身的角度出发,更好的方式是从编写出优秀代码的角度来框架化设计目标。他提出了四个原则:

  1. 自构建正确性(Correctness by construction)——优秀代码通过静态检查和不可表示无效状态来防止bug,减轻审阅负担。

  2. 目的明确(Clarity of purpose)——优秀代码只关注应用程序的重要特性,避免不必要的复杂性,可在不同抽象层次上迭代理解和编写。

  3. 通过组合实现强大(Power through composition)——优秀代码由易于理解的小构建块组成,适当地利用现有库进行高级组合表达。

  4. 灵活变更(Flexibility to change)——优秀代码能够在不影响正确性的情况下,接受来自不同贡献者的变更。

文章的核心思想是将用户体验放在首位,尤其是非科技狂热者和非自愿使用Rust的程序员。优秀的代码能让所有相关人员在工作中感到愉悦,而出色的语言则应支持编写出优秀代码。语言的优雅固然重要,但不应过度强调,以免忽视了更大的机会——基于优秀代码构建产品,从而使团队和最终用户受益。

https://tmandry.gitlab.io/blog/posts/the-main-thing/

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页