< 返回版块

rust 日报 babpstep 发表于 2022-02-15 16:01

Tags:rust,新闻,test,actor

cargo-nextest: 全新版本的 test runner

cargo nextest 是一个 cargo test 的改进版本

其作者指出,当前的 cargo test 有几点不足:

  1. 缺少针对每一个 unittest 测试结果的结构化表示
  2. 测试二进制文件串行执行,一个发生错误,测试会中断
  3. 可能会被单个测试用例阻塞,导致性能瓶颈

针对这些问题,cargo nextest 采用了更加并行化的策略,提出了一个更加先进的测试框架

nextest-model

针对多个大型项目的 Benchmark 结果如下,可以看出,测试性能有显著提升

Project Test count cargo test(s) nextest(s) Difference
cargo-guppy 252 34.70 22.14 -36.2%
diem1 1476 1058.46 400.53 -62.1%
penumbra 32 54.66 24.90 -54.4%
ring 179 17.64 11.60 -34.2%
rust-analyzer 3746 6.76 5.23 -22.6%
tokio 1014 27.16 11.72 -56.8%

官方文档

rust actor 发展情况

Rust 广泛采用 CSP 模型进行并发编程,不过仍有一些爱好者想要尝试 Actor 模型,这不,有人在 twitter 上发起了一个讨论:What's the current state of actor systems in rust? 下面是针对该讨论的一些总结:

  1. actix riker axiom 几个框架虽然发展得不错,不过都没有发布 1.0 版本,也就是说没有稳定的 API,同时项目更新频率也不是很理想
  2. 你并不太需要一个大型 Actor 框架,因为通过 tokio,你甚至可以自己造一套轮子
  3. 很多 Actor 框架可能只是一些针对 channel 的语法糖,并没有带来编程复杂度上的改善

-- From 日报小组 RustPlumber

社区学习交流平台订阅:

评论区

写评论
c5soft 2022-02-16 09:48

还有这篇文章:并发神器CSP的前世今生

c5soft 2022-02-16 09:43

CSP的是Communicating Sequential Processes (CSP)的缩写,翻译成中文是顺序通信进程,GO语言的并发模式 有兴趣的锈粉可以读读这篇文章:两种常用的并发模型:CSP和Actor

zzliujianbo 2022-02-15 23:20

写错了,今天日报好早。😓

--
👇
zzliujianbo: 今天日报好,学习了!

zzliujianbo 2022-02-15 16:03

今天日报好,学习了!

1 共 4 条评论, 1 页