【Rust日报】2022-02-15 cargo-nextest:全新版本的 test runner

2022-03-24 13:18:23 浏览数 (1)

cargo-nextest: 全新版本的 test runner

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

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

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

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

针对多个大型项目的 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%

官方文档:https://nexte.st/index.html

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

0 人点赞