diskus
A minimal, fast alternative to du -sh
.
diskus
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 ten times faster than du
with
a cold disk cache and more than three times faster with a warm disk cache.
> diskus
)
Benchmark
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 diskus
, we also add tin-summer (sn
) and
dust
in our comparison. Both are also written in Rust and provide
much more features than diskus
(check them out!). The optimal number of threads for sn
(-j
option) was
determined via hyperfine --parameter-scan
.
Cold disk cache
(the sudo
/sync
/drop_caches
commands are a way to
clear the filesystem caches between benchmarking runs)
Command | Mean [s] | Min…Max [s] |
---|---|---|
diskus |
1.649 ± 0.009 | 1.640…1.663 |
sn p -d0 -j8 |
9.701 ± 0.067 | 9.598…9.828 |
du -sb |
16.039 ± 0.069 | 15.918…16.152 |
dust -d0 |
19.769 ± 0.285 | 19.564…20.561 |
Warm disk cache
On a warm disk cache, the differences are smaller:
Command | Mean [s] | Min…Max [s] |
---|---|---|
diskus |
0.314 ± 0.007 | 0.303…0.329 |
sn p -d0 -j8 |
0.622 ± 0.008 | 0.611…0.634 |
du -sb |
1.130 ± 0.013 | 1.116…1.161 |
dust -d0 |
3.593 ± 0.057 | 3.544…3.743 |
Installation
On Debian-based systems
On Arch-based systems
Download from the AUR: diskus or diskus-bin
On other distrubutions
Check out the release page for binary builds.
Via cargo
If you have Rust 1.29 or higher, you can install diskus
from source via cargo
:
cargo install diskus
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.