HyperDUBETA

DISK USAGE, WITHOUT THE WAIT.

找出空间去向,
无需漫长等待。

找出占满磁盘的目录,检查整理候选项。原生元数据读取与并行遍历整合在同一个 Rust 引擎中,供 CLI、GUI 和 AI 助手使用。

v0.5.0-beta.7 · 已发布 Beta 版 · MIT

01 / SPACE EXPLORER操作示意
~/workspace
$ hyperdu . --top 3
Top 3 under . (physical desc):
  1. . | phys=18.2 GiB | log=17.9 GiB | files=412088
  2. ./target | phys=12.4 GiB | log=12.1 GiB | files=48211
  3. ./.git | phys=3.1 GiB | log=2.6 GiB | files=1530

CLI · GUI · MCP

扫描时只有两行进度高速刷新,结束后留下按大小排序的结果。

BUILT IN RUSTWindowsLinuxmacOS 验证未完成MCP · READ-ONLY

01 / BENCHMARKS

Linux 100万文件,速度最高达3.25倍。

Linux 在 GitHub Actions 上与 GNU du 各运行8次比较。Windows 测量还包含100万文件的 HyperDU 单独结果和1万文件诊断。下方是所标测量 commit 的记录,不是对已发布版本或当前 HEAD 的重新测量。Windows 还包含与 dua-cli 的比较,以及处理内容不同的 tokei 的参考用时。

/ 2645689 / WARM

HyperDU vs GNU du

GitHub Actions / Linux

AMD EPYC 9V74 80-Core Processor · 4 vCPU · 15.6 GiB RAM · ext4
Ubuntu 24.04 · 每种结构100万文件 · 每文件256 B · 每个工具8次运行的中位数 · 磁盘占用大小

HyperDU vs GNU du — 耗时 · 越短越快
数据集文件数HyperDUGNU du速度比
平铺目录flat1,000,0002327.49 ms2763.52 ms1.187×
宽目录树wide1,000,000745.96 ms2428.8 ms3.256×
深目录树deep1,000,000764.67 ms2434.28 ms3.183×
宽目录树耗时 · 越短越快
HyperDU
745.96 ms
GNU du
2428.8 ms

HyperDU / 1M files

Local Windows / standalone

AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe
Windows 11 · 100万文件 · 每文件256 B · 逻辑大小 · HyperDU 单独运行8次的中位数

HyperDU / 1M files — 耗时 · 越短越快
数据集文件数HyperDUGNU du (MSYS)速度比
平铺目录flat1,000,000589.91 ms600秒超时无法比较

GNU du 在预热扫描中达到600秒限制,正式测量为0次。100万文件比较尚未完成;横向和深层的100万文件测试未运行。

HyperDU vs GNU du (MSYS)

Local Windows / 10K-file diagnostic

AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe
Windows 11 · 每种结构1万文件 · 每文件256 B · 逻辑大小 · 每个工具2次运行的中位数

HyperDU vs GNU du (MSYS) — 耗时 · 越短越快
数据集文件数HyperDUGNU du (MSYS)速度比
平铺目录flat10,00032.98 ms704.17 ms21.35×
宽目录树wide10,00027.46 ms712.33 ms25.94×
深目录树deep10,00032.32 ms836.73 ms25.89×
宽目录树耗时 · 越短越快
HyperDU
27.46 ms
GNU du (MSYS)
712.33 ms

两个工具的全部目录汇总值一致。倍率仅适用于本次1万文件、各2次运行的小规模诊断,不能用于100万文件或 Linux 比较。

HyperDU vs dua-cli

Local Windows / 2026-09-30 / d4ebdb8

AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe
Windows 11 · 逻辑大小 · 每个工具12次运行的中位数 · 3种各10万文件的合成目录 + 2种真实目录

HyperDU vs dua-cli — 耗时 · 越短越快
数据集文件数HyperDUdua-cli 2.45.0速度比
宽目录树(合成)wide99,85667.57 ms187.37 ms2.77×
深层目录树(合成)deep100,000179.68 ms194.62 ms1.08×
平铺目录(合成)flat100,00098.8 ms997.51 ms10.1×
Cargo registry(真实文件)cargo-registry107,953478.55 ms554.61 ms1.16×
node_modules(真实文件)node-modules27,94072.26 ms156.6 ms2.17×

两个工具的逻辑字节总数在全部数据集上都与独立遍历一致。HyperDU 在5项中均更快,但差距取决于目录结构(除平铺外为 1.08–2.77 倍)。深层目录几乎没有可并行的宽度,两者接近。平铺目录的倍率包含 dua 逐条输出直接子项(100,001 行)的时间,不能作为代表值。测量期间其他项目的任务占用了约60–90%的 CPU,绝对值偏大。

HyperDU / tokei (reference)

Local Windows / 2026-09-30 / different workload

AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe
Windows 11 · 2种真实目录 · 每个工具12次运行的中位数 · HyperDU 汇总大小,tokei 统计行数

HyperDU / tokei (reference) — 耗时 · 越短越快
数据集文件数HyperDUtokei 15.0.0速度比
Cargo registry(真实文件)cargo-registry107,953478.55 ms9407.19 ms无法比较
node_modules(真实文件)node-modules27,94072.26 ms782.31 ms无法比较

tokei 读取文件内容并统计行数,而 HyperDU 只汇总大小。两者不是同一项工作,因此不给出速度比,时间仅供参考。tokei 在 Cargo registry 中解析了 80,897 个文件,在 node_modules 中解析了 16,576 个(仅限可识别的源码扩展名)。合成数据没有扩展名,tokei 不会解析任何内容,因此未测量。

所有数值均为热缓存中位数。速度比为比较工具(GNU du 或 dua-cli)用时除以 HyperDU 用时;tokei 处理内容不同,不给出速度比。Linux 使用磁盘占用大小,Windows 使用逻辑大小。系统、统计方式、文件数量和运行次数不同,不能跨环境比较倍率或推广至未测条件。

查看全部试验与测量条件 ↗Linux GitHub 运行记录 ↗

02 / UNDER THE HOOD

从文件系统开始提速。

改变元数据读取与任务分配方式。平台专用读取减少额外操作,各工作线程的队列和 work stealing 为不均衡目录树分配遍历任务。

01

Windows

NtQueryDirectoryFile

批量获取名称、大小、分配大小和文件 ID,减少额外文件打开,高效扫描大型目录。

NTFS · native CI
02

Linux

getdents64 + statx

读取目录项和必要元数据,并行汇总;不会省去准确计算大小所需的 I/O。

CLI · GNU du comparison
03

macOS

getattrlistbulk

已实现批量元数据读取,但 macOS 不在当前 CI 和 Release 范围内,CLI 验证尚未完成。

Implementation · not in current CI

满足权限和参数条件的 Windows NTFS 卷根目录可用 --mft 尝试直接读取。必要读取或解析不完整时回退到普通枚举,但成功并不保证统计完全一致。

阅读架构文档 ↗

03 / YOUR WORKFLOW

融入你的工作方式。

在终端检查,在桌面探索,或集成到应用与 AI 助手。选择合适入口,复用同一个扫描引擎。

Command line

按大小查看目录,导出 JSON 或 CSV。提供 GNU du 兼容模式,但并未完整替代 du 的全部选项。

hyperdu . --top 20
hyperdu . --json usage.json
hyperdu --compat gnu -k /var/log

Desktop GUI

剩余扫描仍在进行时即可查看已完成子目录。Windows / Linux GUI 提供扫描模式、过滤和详细设置。

hyperdu-gui ↗

Rust library

通过独立的 hyperdu-core 库嵌入 Rust 应用,无需启动 CLI,即可复用扫描、汇总和平台优化。

hyperdu-core ↗

04 / FOR YOUR AGENTS

为 AI 助手提供磁盘地图。

从剩余空间到大目录和整理候选项,hyperdu mcp 提供类型化工具和结构化结果。

三个 MCP 工具均为只读,不删除文件。候选项不保证可以安全删除,仍需人工检查和判断。Skill 也可以单独通过 CLI 使用。

配置 MCP / Skill / Plugin ↗
01
list_volumes

哪个卷的空间快用完了?

02
scan_path

哪些目录占用了这些空间?

03
find_reclaimable

哪些生成产物可能可以重新生成?

cargo install hyperdu --locked --version 0.5.0-beta.7
codex mcp add hyperdu -- hyperdu mcp

05 / GET STARTED

从一个目录开始。

可从 crates.io 安装已发布 Beta 版,一个 hyperdu 命令同时包含 CLI 和 MCP 服务。无需 Rust 运行时,请选择 Releases 中的 Windows / Linux 二进制文件。

cargo install hyperdu --locked --version 0.5.0-beta.7

Cargo 源码构建需要较新的 stable Rust(CLI 声明最低1.88)和对应平台构建工具。运行预构建二进制文件不需要 Rust。

进一步了解 HyperDU。