Crates.io | du-dup |
lib.rs | du-dup |
version | 0.2.0 |
source | src |
created_at | 2018-11-01 22:34:12.459045 |
updated_at | 2018-11-01 22:34:12.459045 |
description | A minimal, fast alternative to 'du -sh'. |
homepage | https://github.com/sharkdp/dup |
repository | https://github.com/sharkdp/dup |
max_upload_size | |
id | 94102 |
size | 25,596 |
A minimal, fast alternative to du -sh
.
dup
is a very simple program that computes the total size of the current directory. It is a
parallelized version of du -sh
. On my 8-core laptop, it is about nine times faster than du
for
a cold disk cache and more than twice as fast on a warm disk cache.
> dup
14.56 GB (14556806983 bytes)
The following benchmarks have been performed with hyperfine on a moderately large folder (15GB, 100k directories, 400k files). Smaller folders are not really of any interest since all programs would finish in a reasonable time that would not interrupt your workflow.
In addition to du
and dup
, we also add tin-summer (sn
) and
dust
in our comparison. Both are also written in Rust and provide
much more features than dup
(check them out!). The optimal number of threads for sn
(-j
option) was
determined via hyperfine --parameter-scan
.
sudo -v
hyperfine --prepare 'sync; echo 3 | sudo tee /proc/sys/vm/drop_caches' \
'dup' 'sn p -d0 -j8' 'du -sb' 'dust -d0'
(the sudo
/sync
/drop_caches
commands are a way to
clear the filesystem caches between benchmarking runs)
Command | Mean [s] | Min…Max [s] |
---|---|---|
dup |
1.729 ± 0.012 | 1.717…1.756 |
sn p -d0 -j8 |
9.778 ± 0.098 | 9.587…9.904 |
du -sb |
16.016 ± 0.067 | 15.923…16.147 |
dust -d0 |
19.845 ± 0.466 | 19.428…20.948 |
On a warm disk cache, the differences are smaller:
hyperfine --warmup 5 'dup' 'sn p -d0 -j8' 'du -sb' 'dust -d0'
Command | Mean [ms] | Min…Max [ms] |
---|---|---|
dup |
465.9 ± 14.7 | 446.5…487.4 |
sn p -d0 -j8 |
596.4 ± 12.2 | 579.2…615.9 |
du -sb |
1100.3 ± 20.5 | 1086.9…1153.0 |
dust -d0 |
3560.1 ± 27.8 | 3521.7…3612.8 |
wget "https://github.com/sharkdp/dup/releases/download/v0.1.0/dup_0.1.0_amd64.deb"
sudo dpkg -i dup_0.1.0_amd64.deb
Check out the release page for binary builds.