elfshaker

Crates.ioelfshaker
lib.rselfshaker
version0.9.0
sourcesrc
created_at2022-09-17 14:16:41.446795
updated_at2022-09-17 14:16:41.446795
descriptionelfshaker stores binary objects efficiently
homepage
repository
max_upload_size
id668190
size244,320
Peter Waller (pwaller)

documentation

README

elfshaker

elfshaker is a low-footprint, high-performance version control system fine-tuned for binaries.

  • elfshaker is a CLI tool written in the Rust programming language.

  • It stores snapshots of directories into highly-compressed pack files and provides fast on-demand access to the stored files. It is particularly good for storing lots of similar files.

  • It is also the storage system used by the manyclangs project, a parent project which accelerates bisection of LLVM by a factor of 60x! This is done by extracting builds of LLVM on-demand from locally stored elfshaker packs, each of which contains ~1,800 builds and is about 100 MiB in size, even though the full originals would take TiBs to store! Extracting a single builds takes 2-4s on modern hardware.

Getting started

See our Installation guide for instructions.

System Compatibility

The following platforms are used for our CI tests:

  • Ubuntu 20.04 LTS

But we aim to support all popular Linux platforms, macOS and Windows in production.

We officially support the following architectures:

  • AArch64 (release tag is aarch64)
  • x86-64 (release tag is x86_64)

Current Status

elfshaker is production ready! The file format and directory structure is stable. Packs files created with the current elfshaker version will remain compatible with future versions.

Documentation

See our Usage guide for instructions.

Contributing

Contributions are highly-appreciated. Refer to our Contributing guide.

Contact

The best way to reach us to join the elfshaker/community on Gitter. The original authors of elfshaker are Peter Waller (@peterwaller-arm) <peter.waller@arm.com> and Veselin Karaganev (@veselink1) <veselin.karaganev@arm.com> and you may also contact us via email.

Security

Refer to our Security policy.

License

elfshaker is licensed under the Apache License 2.0.

Commit count: 0

cargo fmt