CPX Performance Benchmarks

January 28, 2026 · View on GitHub

Methodology

  • Benchmarking Tool: hyperfine
  • Runs per Test: 6 iterations with (cache cleared before each test)
  • CPX Configuration: -r -j=16 (16 parallel threads)
  • GNU cp Configuration: -r (standard recursive)
  • Dataset: 11 major open-source repositories (773,996 files, 13 GB)
  • Hardware: Intel Core i7-1165G7 (4C/8T), SSD storage
  • OS: Ubuntu 25.10 (Kernel 6.x)
  • Consistency: Results validated across multiple Intel/AMD platforms with <5% variance

Overall Results

Full Dataset (13 GB, 773,996 files)

cp:

ToolMean TimeSpeedup
cpx28.72s ± 1.46s2.81× faster
cp80.56s ± 2.79sbaseline

Time Saved: 51.84 seconds

rsync:

ToolMean TimeSpeedup
cpx30.37s ± 0.82s2.67× faster
rsync80.54s ± 2.567sbaseline

Time Saved: 50.54 seconds


Per-Repository Results

cp:

RepositoryFilescpxcpSpeedup
VSCode~15k263ms1,084ms4.12×
Rust~65k1,091ms4,553ms4.17×
Go~12k336ms1,373ms4.09×
TensorFlow~50k736ms2,846ms3.87×
Kubernetes~35k744ms2,805ms3.77×
Node.js~45k1,351ms4,573ms3.39×
Linux Kernel~72k2,925ms9,314ms3.18×
Chromium~450k15.89s46.19s2.91×
OpenImageIO~5k125ms258ms2.07×
Godot~8k354ms550ms1.55×
OpenEXR~2.5k273ms286ms1.04×

rsync:

RepositoryFilescpxrsyncSpeedup
Kubernetes~35k617.2ms3,097ms5.02×
Rust~65k1,014ms4,604ms4.54×
Go~12k340ms1,529ms4.49×
TensorFlow~50k736ms3,100ms4.21×
Node.js~45k1,198ms4,821ms4.02×
VSCode~15k310ms1,190ms3.83×
Linux Kernel~72k2,587ms8,868ms3.43×
Chromium~450k14.76s47.74s3.23×
OpenImageIO~5k120ms385ms3.21×
Godot~8k392ms987ms2.52×
OpenEXR~2.5k267ms588ms2.20×

See all hyperfine reports(cp,rsync,xcp) here https://github.com/11happy/cpx/tree/main/benchmarks

Why faster ?

CPX advantages:

  • Parallel I/O operations (16 threads ) [can be more depending on system]
  • Adaptive buffer sizing (64KB-2MB)
  • Parallel directory traversal

Reproduction

# Clone repository
git clone https://github.com/11happy/cpx
cd cpx

# Run cold cache benchmark (requires sudo), adjust the paths in bench.sh accordingly
sudo ./benchmarks/bench.sh cold

# Results saved to ~/cpx_multi_bench/

Note: Performance varies with storage type (NVMe > SSD > HDD), CPU cores, and filesystem (ext4/btrfs/xfs).