# Parallel Disk Usage (pdu)
[](https://github.com/KSXGitHub/parallel-disk-usage/actions?query=workflow%3ATest)
[](https://github.com/KSXGitHub/parallel-disk-usage/actions/workflows/benchmark.yaml)
[](https://github.com/KSXGitHub/parallel-disk-usage/actions/workflows/clippy.yaml)
[](https://github.com/KSXGitHub/parallel-disk-usage/actions/workflows/fmt.yaml)
[](https://github.com/KSXGitHub/parallel-disk-usage/actions/workflows/cargo-deny.yaml)
[](https://crates.io/crates/parallel-disk-usage)
Summarize disk usage of the set of files, recursively for directories.
## Description
`pdu` is a CLI program that renders a graphical chart for disk usages of files and directories, it is a replacement of [`dust`](https://github.com/bootandy/dust) and [`dutree`](https://github.com/nachoparker/dutree).
Both `dust` (v0.5.4) and `dutree` (v0.12.5) do not utilize the parallel computing capability of Rust to improve performance.
_Below is a benchmark sample of `pdu` (v0.0.0) against `dust`, `dutree`, and `du` (lower is better):_
<a href="https://github.com/KSXGitHub/parallel-disk-usage-0.0.0-benchmarks/blob/master/tmp.benchmark-report.CHARTS.md">
<img
alt="benchmark pdu v0.0.0 against dust, dutree, and du"
src="https://ksxgithub.github.io/parallel-disk-usage-0.0.0-benchmarks/tmp.benchmark-report.competing.blksize.svg"
>
</a>
## Demo
[](https://asciinema.org/a/416663)
[](https://asciinema.org/a/416664)
## Installation
### Any Desktop OS
#### From GitHub
Go to the [GitHub Release Page](https://github.com/KSXGitHub/parallel-disk-usage/releases) and download a binary.
#### From [crates.io](https://crates.io)
**Prerequisites:**
* [`cargo`](https://github.com/rust-lang/cargo)
```sh
cargo install parallel-disk-usage
```
### Arch Linux
#### From the [Arch User Repository](https://aur.archlinux.org)
**Prerequisites:**
* An AUR helper, such as [`paru`](https://github.com/Morganamilo/paru)
```sh
paru -S parallel-disk-usage-bin
```
```sh
paru -S parallel-disk-usage
```
#### From [Khải's Pacman Repository](https://github.com/KSXGitHub/pacman-repo)
Follow the [installation instruction](https://github.com/KSXGitHub/pacman-repo#installation) then run the following command:
```sh
sudo pacman -S parallel-disk-usage
```
## Distributions
[](https://repology.org/project/parallel-disk-usage/versions)
## Similar programs
* **CLI:**
* `du`
* [`dust`](https://github.com/bootandy/dust)
* [`dutree`](https://github.com/nachoparker/dutree)
* **TUI:**
* [`ncdu`](https://dev.yorhel.nl/ncdu)
* [`gdu`](https://github.com/dundee/gdu)
* [`godu`](https://github.com/viktomas/godu)
* **GUI:**
* [GNOME's Disk Usage Analyzer, a.k.a. `baobab`](https://wiki.gnome.org/action/show/Apps/DiskUsageAnalyzer)
* Filelight
## License
[Apache 2.0](https://git.io/JGIAt) © [Hoàng Văn Khải](https://ksxgithub.github.io/).