< 返回版块

odd-cat 发表于 2022-04-19 15:32

Tags:rust,日报,cargo-add,cargo-edit,Zenoh,systeroid,sysctl(8)

Cargo现已支持原生cargo add命令

Cargo now has native support for the cargo add command (from the cargo-edit crate)!

cargo现已支持原生cargo add命令,避免了从 crates.io 手动查找信息的需要,然后将其编辑为Cargo.toml。 以下是使用原生cargo add功能的一些例子:

cargo add regex
cargo add regex serde
cargo add regex@1
cargo add regex@~1.0
cargo add --path ../dependency

更多细节可以参见这篇书写规范的PR

在官方原生支持cargo add命令之前,社区实现版本的cargo-editcargo add子命令提供类似的功能,cargo-edit提供的其他子命令包括:

cargo add
cargo rm
cargo upgrade
cargo set-version

期待cargo能够早日实现类似于cargo-edit的其他原生子命令!

Rust异步框架的性能评估

A Performance Evaluation on Rust Asynchronous Frameworks

Zenoh (发音:/zeno/)是一个基于async_std的异步零开销发布/订阅、存储/查询和计算框架,Zenoh是用Rust编写的,它利用异步特性来实现高性能和可扩展性;

在这篇博客中,Zenoh官方评估了三个异步框架(async_std/Tokio/smol)在异步网络上的性能。对每一种方法进行评估,并与Rust标准库提供的等效同步原语提供的基线性能进行比较。

评估显示,async_stdsmol非常接近标准库,并且在某些工作负载上优于标准库。另一方面,Tokio似乎很快就达到了它的极限,即100 msg/s时达到18µs,并且TCP和UDP之间没有差异。此外,Tokio似乎受到CPU限制(Rust)异步任务的不利影响。

rust-async-eval

基于这些结果,Zenoh认为他们别无选择,只能继续使用async_std。也就是说,了解Tokio为什么会在比较中暴露这种行为,并改善其原始性能以缩小与async_std的差距,这将是一件有趣的事。目前,Tokio在本地主机上增加了8µs延迟,在网络上增加了10µs延迟。

作者坦言,理想情况下,他们希望看到一个异步框架成为“标准”,但要做到这一点,不能忽视原始性能。他们也期待着与社区其他人接触并共同努力,帮助实现这一目标。

systeroid: 用Rust重写sysctl(8)

Rewriting sysctl(8) in Rust: systeroid

sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。

systeroid是“打了激素的sysctl”。与sysctl类似,它是使用procfs实现的,主要目标是管理内核参数。它有一系列特性,可以简化读取和修改值的过程,甚至可以从正式的Linux内核文档中检索有关这些值的信息。它还有一个基于文本的用户界面,用于可视化内核参数的状态,并以交互方式执行这些管理操作。

systeroid


From 日报小组 odd-cat

社区学习交流平台订阅:

Rust.cc 论坛: 支持 rss

微信公众号:Rust 语言中文社区

评论区

写评论
BlackStone 2023-01-27 19:12

怎么还不能用cargo add 呀? 升级了也一样,cargo-edit提示升级1.62+,但是我的最新还是1.61。。。

Neutron3529 2022-04-26 16:30

现在cargo add可以用了

舒服。

--
👇
Neutron3529: 吓得我赶紧来了一个rustup update

cargo add rayon
error: no such subcommand: `add`

        Did you mean `d`?
rustup toolchain install nightly
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: latest update on 2022-04-20, rust version 1.62.0-nightly (4ca19e09d 2022-04-19)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
 26.1 MiB /  26.1 MiB (100 %)  21.8 MiB/s in  1s ETA:  0s
info: downloading component 'rustc'
 55.8 MiB /  55.8 MiB (100 %)  20.7 MiB/s in  2s ETA:  0s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
 19.7 MiB /  19.7 MiB (100 %)   8.0 MiB/s in  2s ETA:  0s
info: installing component 'rust-std'
 26.1 MiB /  26.1 MiB (100 %)   9.2 MiB/s in  2s ETA:  0s
info: installing component 'rustc'
 55.8 MiB /  55.8 MiB (100 %)  10.7 MiB/s in  5s ETA:  0s
info: installing component 'rustfmt'

  nightly-x86_64-unknown-linux-gnu installed - rustc 1.62.0-nightly (4ca19e09d 2022-04-19)

大概这个feature还要等几天才能出 (BTW但我差点被我那招“把cargo的w权限去掉”给害惨了……)

Neutron3529 2022-04-20 19:55

吓得我赶紧来了一个rustup update

cargo add rayon
error: no such subcommand: `add`

        Did you mean `d`?
rustup toolchain install nightly
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: latest update on 2022-04-20, rust version 1.62.0-nightly (4ca19e09d 2022-04-19)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
 26.1 MiB /  26.1 MiB (100 %)  21.8 MiB/s in  1s ETA:  0s
info: downloading component 'rustc'
 55.8 MiB /  55.8 MiB (100 %)  20.7 MiB/s in  2s ETA:  0s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
 19.7 MiB /  19.7 MiB (100 %)   8.0 MiB/s in  2s ETA:  0s
info: installing component 'rust-std'
 26.1 MiB /  26.1 MiB (100 %)   9.2 MiB/s in  2s ETA:  0s
info: installing component 'rustc'
 55.8 MiB /  55.8 MiB (100 %)  10.7 MiB/s in  5s ETA:  0s
info: installing component 'rustfmt'

  nightly-x86_64-unknown-linux-gnu installed - rustc 1.62.0-nightly (4ca19e09d 2022-04-19)

大概这个feature还要等几天才能出 (BTW但我差点被我那招“把cargo的w权限去掉”给害惨了……)

1 共 3 条评论, 1 页