#macos #cli #zero #padded #cavity #mkfile #alternatinve

app cavity-cli

创建填充零的文件。macOS 的 mkfile 的替代品。

1 个稳定版本

使用旧的 Rust 2015

1.1.0 2017年11月24日

#131 in #zero

BSD-2-Clause

11KB
157

Crates.io

Cavity

Cavity 是一个非常小的库,用于创建文件。它是 macOS 的 mkfile(8) 的替代品,可以在拥有 Rust std 的任何地方工作。与 mkfile(8) 不同,它使用可配置的块大小,默认为 512Kb。

CLI 工具

这个 CLI 版本称为 cavity-cli,位于此仓库中。该工具比 mkfile(8) 快 2 倍。不要认为它是因为 Rust 才更快。请阅读这篇文章。工具有一些配置选项,但默认值相当完美。CLI 工具有许多 .unwrap() 调用。一个非常不科学的基准测试。

 $ time target/release/cavity-cli  10G test.wat
target/release/cavity-cli 10G test.wat  0.00s user 9.92s system 49% cpu 20.110 total
 $ time mkfile 10G test2.wat
mkfile 10G test2.wat  1.83s user 31.84s system 87% cpu 38.339 total

asciicast

安装

cavity 可在 crates.io 上使用,并可以像这样包含到您的 Cargo 启用的项目中

[dependencies]
cavity = "1.1.0"

示例

阅读 "文档"

use cavity::{fill, Bytes, WriteMode};
use std::fs::File;
let mut f = File::create("wat.test").unwrap();
fill(Bytes::MegaBytes(5), None, WriteMode::FlushEvery, &mut f).unwrap();

依赖关系

~750KB