fast_rsync:纯Rust中libbrsync的优化实现

时间:2024-03-03 17:23:28
【文件属性】:

文件名称:fast_rsync:纯Rust中libbrsync的优化实现

文件大小:35KB

文件格式:ZIP

更新时间:2024-03-03 17:23:28

Rust

fast_rsync 使用可用的SIMD操作在纯Rust中更快地实现 。 请注意,仅支持旧的MD4格式,不支持BLAKE2。 由于当前需要每晚Rust。 当前仅支持x86和x86-64体系结构。 rsync算法 此板条箱提供了三种主要的API: Signature::calculate ,它接收数据块并返回该数据的“签名”,该签名比原始数据小得多。 diff ,它为某个块A和一个数据B块签名,并返回块A和块B之间的增量。如果A和B是“相似的”,则该增量通常比块B小得多。 apply ,它接受一个块A和一个增量(由diff构造),并(通常)返回块B。 这些功能可用于实现协议,以通过网络有效地传输数据。 假设主机A和B具有某些文件foo相似版本,并且主机B想获取A的副本。 主机B计算foo_B的Signature并将其发送给A。这很便宜,因为签名可以比foo_B本身小1000 fo


【文件预览】:
fast_rsync-master
----.gitignore(8B)
----benches()
--------rsync_bench.rs(6KB)
----src()
--------diff.rs(6KB)
--------signature.rs(7KB)
--------patch.rs(8KB)
--------consts.rs(1KB)
--------crc.rs(5KB)
--------tests.rs(7KB)
--------hasher.rs(1KB)
--------md4()
--------lib.rs(987B)
----Cargo.lock(18KB)
----fuzz()
--------.gitignore(31B)
--------src()
--------Cargo.lock(5KB)
--------Cargo.toml(374B)
----Cargo.toml(844B)
----.github()
--------workflows()
----README.md(5KB)
----rust-toolchain(19B)
----LICENSE-APACHE(9KB)

网友评论