All Projects → the8472 → fastar

the8472 / fastar

Licence: GPL-3.0 license
Fast tar archiver

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to fastar

Multiboot-Toolkit
Create a bootable disk
Stars: ✭ 96 (+6.67%)
Mutual labels:  hdd
WinDirStat.Net
A WPF implementation of WinDirStat.
Stars: ✭ 55 (-38.89%)
Mutual labels:  hdd
ToolBin
All the great tools we have for the field.
Stars: ✭ 91 (+1.11%)
Mutual labels:  hdd
Makeself
A self-extracting archiving tool for Unix systems, in 100% shell script.
Stars: ✭ 1,582 (+1657.78%)
Mutual labels:  tar-archive
ratarmount
Random Access Read-Only Tar Mount
Stars: ✭ 217 (+141.11%)
Mutual labels:  tar-archive
tarballjs
Javascript library to create or read tar files in the browser
Stars: ✭ 24 (-73.33%)
Mutual labels:  tar-archive
PS-HDD-Tools
PS3 and PS4 HDD tools
Stars: ✭ 28 (-68.89%)
Mutual labels:  hdd
shd
Show pretty HDD/SSD list
Stars: ✭ 37 (-58.89%)
Mutual labels:  hdd
gsmartcontrol
GSmartControl - Hard disk drive and SSD health inspection tool
Stars: ✭ 183 (+103.33%)
Mutual labels:  hdd

Version

fastar

A faster equivalent of tar -cT <(find . -type f), optimized for tarring many small files stored on HDDs.

Optimizations compared to gnu tar:

  • directory traversal based on physical disk layout. see platter-walk crate
  • readaheads across multiple files at once to keep the drive's command queue filled. see reapfrog crate
  • drops disk caches for files once they are read to prevent disk buffer thrashing.

Limitations compared to gnu tar:

  • arguments must be directories
  • only archives regular files, not symlinks or empty directories
  • xattrs are not included
  • sparse files are zero-filled

Building

  • indirect dependencies: libz, liblzo headers
  • cargo build --release

Benchmarks

# ffcnt . -s
files: 6680901
bytes: 245271028476

# echo 3 > /proc/sys/vm/drop_caches ; tar -c . | pv -at > /dev/null
^C0:02:45 [ 2.4MiB/s]

# echo 3 > /proc/sys/vm/drop_caches ; tar -cT <(ffcnt --ls --type f --leaf-order content .) | pv -at > /dev/null
^C0:02:50 [4.11MiB/s]

# echo 3 > /proc/sys/vm/drop_caches ; fastar . | pv -at > /dev/null
^C0:02:51 [9.28MiB/s]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].