Analysis updated 2026-05-18
Copy large files over 10 GB much faster on Linux filesystems that support reflinks, such as Btrfs or XFS.
Replace cp with fastcp in shell scripts to get near-instant copies of big datasets on slow drives without changing any flags.
Test whether your Linux filesystem supports reflink copies without manually adding the reflink=always flag each time.
| callmealphabet/fastcp | codingstark-dev/decant | emotions-research/lunarfs | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Rust | Rust | Rust |
| Setup difficulty | easy | easy | moderate |
| Complexity | 1/5 | 3/5 | 4/5 |
| Audience | ops devops | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a Linux filesystem that supports reflinks (Btrfs, XFS, or similar), falls back to failure on unsupported filesystems.
fastcp is a thin wrapper around the standard cp command on Linux that automatically adds a flag called reflink when copying files. The reflink flag tells the filesystem to create an instant reference copy rather than actually duplicating the data on disk. Instead of physically writing all the bytes from the source to the destination, a reflink copy records that the destination points to the same data as the source. If either file is later changed, only the changed parts are written separately. This makes the copy operation nearly instant for any file size. The tool is not a replacement for cp: it calls cp internally and simply appends the reflink=always option before passing along whatever other arguments you supply. If your filesystem or operating system does not support reflinks, the copy will fail rather than fall back to a normal copy, so it is designed for systems where that support is available. According to the documentation, fastcp adds a small overhead of about five milliseconds compared to a regular cp, so it is marginally slower on tiny files. For large files over ten gigabytes, and especially on slow drives, the reflink approach is faster because skipping the physical data duplication saves time. Installation is one line: download the script to a system directory and mark it executable. Uninstalling is equally simple: delete that file. The usage is identical to cp with no differences in flags. The README is short and does not describe the Rust language label in the repository metadata, so the project may be primarily a shell script.
A drop-in cp replacement that automatically uses reflink copies on supported filesystems, making large file copies near-instant by avoiding physical data duplication.
Mainly Rust. The stack also includes Rust, Bash.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.