{"schema_version":3,"date":"2026-09-11","timezone":"UTC","commit":"2645689515ab2e608a78b7492637e55179e4739a","tree":"83dd0978e454d5ce4bc5b0c37d3c69a18a50e657","cargo_lock_sha256":"4fdb76dec33728e1aba3879a7a11b68962e23521a70018d1eb26ac986df7db47","release_status":"unreleased development snapshot","comparison":"HyperDU versus GNU coreutils du","workflow_run":"https://github.com/automationjp/HyperDiskUsage/actions/runs/34550503086","method":"https://github.com/automationjp/HyperDiskUsage/blob/2645689515ab2e608a78b7492637e55179e4739a/scripts/bench/du_same_conditions.py","documentation":"https://github.com/automationjp/HyperDiskUsage/blob/main/docs/benchmarks.md","headline_ratio":3.25,"headline_shape":"wide","limitations":["Linux: GitHub-hosted Ubuntu 24.04/ext4, allocated bytes, 1M files per shape, eight alternating runs per tool, all 48 samples retained.","Windows: local Windows 11/NTFS, native HyperDU and Git for Windows GNU du 8.32 through MSYS; apparent-size logical bytes.","Windows 1M flat: eight HyperDU-only runs; GNU du timed out after600seconds in warmup. No accepted 1M comparison or speed ratio; wide/deep 1M workloads were not run.","Windows 10K: three shapes, two alternating runs per tool, all 12 measured samples retained; diagnostic ratios are not general speedup claims.","Warm cache, synthetic regular files of256bytes; timings include process startup and directory output. Conditions differ across platforms.","No cold-cache, whole-disk or unmeasured-device speed claims. Record hashes preserve provenance consistency, not cryptographic attestation.","Windows vs dua-cli: local Windows 11/NTFS, apparent-size logical bytes, HyperDU d4ebdb8 and dua-cli 2.45.0 built with the same rustc; 12 alternating warm runs per tool, all samples retained; byte totals equal an independent walk. Unrelated background jobs held the CPU at roughly 60-90 percent busy, so absolute times are inflated and this is not an isolated benchmark host.","Windows vs tokei: reference only. tokei counts source lines and reads file contents, so no speed ratio is claimed; two real trees only. A third tree (Rust toolchains, 345,102 files) was dropped after one tokei run exceeded 10 minutes; the cause was not investigated."],"filters":[],"platforms":[{"id":"linux","group":"linux","title":"HyperDU vs GNU du","subtitle":"GitHub Actions / Linux","machine":"AMD EPYC 9V74 80-Core Processor · 4 vCPU · 15.6 GiB RAM · ext4","candidate":"HyperDU","baseline":"GNU du","condition":{"ja":"Ubuntu 24.04 · 各100万ファイル · 256 B / ファイル · 各ツール8回の中央値 · ディスク上の使用量","en":"Ubuntu 24.04 · 1M files per tree · 256 B per file · median of 8 runs per tool · allocated size","zh-CN":"Ubuntu 24.04 · 每种结构100万文件 · 每文件256 B · 每个工具8次运行的中位数 · 磁盘占用大小"},"provenance":{"complete":true,"run_url":"https://github.com/automationjp/HyperDiskUsage/actions/runs/34550503086","run_id":"34550503086","run_attempt":"1","job":"benchmark-du","provider":"GitHub Actions","runner_environment":"github-hosted","runner_os":"Linux","runner_arch":"X64","image_os":"ubuntu24","image_version":"20260907.300.1","kernel":"Linux-6.17.0-1022-azure-x86_64-with-glibc2.39","build":{"head":"2645689515ab2e608a78b7492637e55179e4739a","binary_sha256":"6cb0b3aa438eca6216f95880861ed1aca7d6930cb743ccfa74750ef84969c3ce","source_snapshot_sha256":"2cba546df22978eac2b560b07652fa4bcaaca9293eb83322480400c15828abb2","build_command":"cargo build --locked --release -p hyperdu","rustc_version":"rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-unknown-linux-gnu\nrelease: 1.98.1\nLLVM version: 22.1.8","profile":{"opt_level":3,"lto":"thin","codegen_units":1,"debug":true,"strip":true,"panic":"abort","incremental":false},"features":"default","rustflags":"","cargo_encoded_rustflags":""},"du":{"binary_sha256":"872ef616defa9ecfc93c50a8da5d6144b4dfc93378882ad82198369433bd16c1","version":"du (GNU coreutils) 9.4","package":"coreutils\t9.4-3ubuntu6.3"},"source_snapshot_sha256":"2cba546df22978eac2b560b07652fa4bcaaca9293eb83322480400c15828abb2","environment_record_sha256":"5e7897c7bc13bb5952f3bea292a75d7d75817554f1ef2b2bae545f5bae3c887c","completed_manifest_sha256":"53a01e989096f07d7e341525b8409bec7a353c04bfdeae04b5917bd55cda1b8b"},"rows":[{"label":{"ja":"平坦なフォルダ","en":"Flat directory","zh-CN":"平铺目录"},"shape":"flat","files":"1,000,000","file_count":1000000,"bytes_per_file":256,"hyperdu_ms":2327.49,"baseline_ms":2763.52,"ratio":1.187,"ratio_exact":1.1873386207554095,"median_ms_exact":{"hyperdu":2327.4885485,"du":2763.517043},"hyperdu_width":84.222,"baseline_width":100.0,"all_directory_parity":"PASS","directory_count":1,"dataset_fingerprint":"5930154aba1fbdab2059c93a3134610ea682fc81ba74a79629ac46a77caf0fc5","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":2367.174907,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true},{"round":0,"tool":"du","elapsed_ms":2748.247731,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":1,"tool":"du","elapsed_ms":2748.382766,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":1,"tool":"hyperdu","elapsed_ms":2329.193714,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true},{"round":2,"tool":"hyperdu","elapsed_ms":2317.46483,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true},{"round":2,"tool":"du","elapsed_ms":2733.311602,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":3,"tool":"du","elapsed_ms":2782.36263,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":3,"tool":"hyperdu","elapsed_ms":2328.84,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true},{"round":4,"tool":"hyperdu","elapsed_ms":2324.945572,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true},{"round":4,"tool":"du","elapsed_ms":2762.275895,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":5,"tool":"du","elapsed_ms":2764.758191,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":5,"tool":"hyperdu","elapsed_ms":2329.531805,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true},{"round":6,"tool":"hyperdu","elapsed_ms":2323.497298,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true},{"round":6,"tool":"du","elapsed_ms":2781.876689,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":7,"tool":"du","elapsed_ms":2800.452152,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"","direct_directory_parity":true},{"round":7,"tool":"hyperdu","elapsed_ms":2326.137097,"stdout_sha256":"d96c73498ef8918f5363bb95550bfbb415a153386872188e67f2a8da4aa29864","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-flat-84lpk1fr'\n","direct_directory_parity":true}],"source_record_sha256":"8b5fab1e65080560239b7b044ba9aaf7822608ccea1872072ccffd7baf189c1a","finished_at":"2026-09-11T01:30:49.307789+00:00"},{"label":{"ja":"横に広いフォルダ","en":"Wide directory tree","zh-CN":"宽目录树"},"shape":"wide","files":"1,000,000","file_count":1000000,"bytes_per_file":256,"hyperdu_ms":745.96,"baseline_ms":2428.8,"ratio":3.256,"ratio_exact":3.2559381252682082,"median_ms_exact":{"hyperdu":745.9616335000001,"du":2428.8049225000004},"hyperdu_width":30.7131,"baseline_width":100.0,"all_directory_parity":"PASS","directory_count":7814,"dataset_fingerprint":"a76100cb334a35eafe017092ec1ffd7c5a6a22950d829da68c394f011ef0e6e9","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":752.535421,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true},{"round":0,"tool":"du","elapsed_ms":2446.450576,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":1,"tool":"du","elapsed_ms":2411.159269,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":1,"tool":"hyperdu","elapsed_ms":749.321684,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true},{"round":2,"tool":"hyperdu","elapsed_ms":744.160878,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true},{"round":2,"tool":"du","elapsed_ms":2461.453751,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":3,"tool":"du","elapsed_ms":2453.041331,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":3,"tool":"hyperdu","elapsed_ms":744.454915,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true},{"round":4,"tool":"hyperdu","elapsed_ms":744.759966,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true},{"round":4,"tool":"du","elapsed_ms":2501.471088,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":5,"tool":"du","elapsed_ms":2406.75635,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":5,"tool":"hyperdu","elapsed_ms":747.163301,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true},{"round":6,"tool":"hyperdu","elapsed_ms":743.394615,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true},{"round":6,"tool":"du","elapsed_ms":2390.379599,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":7,"tool":"du","elapsed_ms":2406.889229,"stdout_sha256":"3798cf6e0eecdc28aeaa062446630b1d9fea49984da1ffd334b0036c5effc3a4","stderr":"","direct_directory_parity":true},{"round":7,"tool":"hyperdu","elapsed_ms":752.327,"stdout_sha256":"d67a36482951baad477667f9ba5cc68fd499279b3b1da226bd091de9715f8be0","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-wide-489z_328'\n","direct_directory_parity":true}],"source_record_sha256":"6db60c1383eb47af4a6ee17cd51804c995fd46369794d64a95e3a7c1a8d67ee7","finished_at":"2026-09-11T01:35:01.447927+00:00"},{"label":{"ja":"深い階層のフォルダ","en":"Deep directory tree","zh-CN":"深目录树"},"shape":"deep","files":"1,000,000","file_count":1000000,"bytes_per_file":256,"hyperdu_ms":764.67,"baseline_ms":2434.28,"ratio":3.183,"ratio_exact":3.1834516014952903,"median_ms_exact":{"hyperdu":764.665783,"du":2434.2765115},"hyperdu_width":31.4124,"baseline_width":100.0,"all_directory_parity":"PASS","directory_count":10430,"dataset_fingerprint":"f2e19415c226df10da15fef0e1c334c09752603126515056949dfec1e1ce7fc6","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":764.695899,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true},{"round":0,"tool":"du","elapsed_ms":2460.134354,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":1,"tool":"du","elapsed_ms":2426.104713,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":1,"tool":"hyperdu","elapsed_ms":763.779596,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true},{"round":2,"tool":"hyperdu","elapsed_ms":763.967765,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true},{"round":2,"tool":"du","elapsed_ms":2434.051347,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":3,"tool":"du","elapsed_ms":2410.553629,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":3,"tool":"hyperdu","elapsed_ms":757.467042,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true},{"round":4,"tool":"hyperdu","elapsed_ms":768.355401,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true},{"round":4,"tool":"du","elapsed_ms":2449.820201,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":5,"tool":"du","elapsed_ms":2434.501676,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":5,"tool":"hyperdu","elapsed_ms":767.394062,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true},{"round":6,"tool":"hyperdu","elapsed_ms":764.635667,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true},{"round":6,"tool":"du","elapsed_ms":2451.254546,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":7,"tool":"du","elapsed_ms":2422.002994,"stdout_sha256":"c1e442d91c8d1f3034ba3e7457aa6b185dbb57ac78c65608290fd5925b170c7c","stderr":"","direct_directory_parity":true},{"round":7,"tool":"hyperdu","elapsed_ms":770.091767,"stdout_sha256":"f3301d27ed3b1e72fa4702472c227f8d3a1c30577f148f8db56c7a62d7888199","stderr":"fs-auto: fs='ext4' strategy='ext4' reason='fstype=ext4' changes=[getdents_buf_kb=128] for '/home/runner/work/_temp/hyperdu-product-benchmark/corpora/hyperdu-deep-uwo5vka5'\n","direct_directory_parity":true}],"source_record_sha256":"dca0d66c0aa33942e0f4f9025508e316f42f959699005e59e7b28429685ea1ab","finished_at":"2026-09-11T01:40:53.871281+00:00"}],"kind":"comparison","accounting":"allocated-size","show_comparison":true,"runs_per_tool":{"hyperdu":8,"du":8}},{"id":"windows-million","group":"windows","kind":"standalone","title":"HyperDU / 1M files","subtitle":"Local Windows / standalone","machine":"AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe","candidate":"HyperDU","baseline":"GNU du (MSYS)","show_comparison":false,"accounting":"apparent-size","runs_per_tool":{"hyperdu":8,"du":0},"condition":{"ja":"Windows 11 · 100万ファイル · 256 B / ファイル · 論理サイズ · HyperDU 単独8回の中央値","en":"Windows 11 · 1M files · 256 B per file · logical size · median of 8 HyperDU-only runs","zh-CN":"Windows 11 · 100万文件 · 每文件256 B · 逻辑大小 · HyperDU 单独运行8次的中位数"},"note":{"ja":"GNU du は準備走査で600秒の制限に達しました。本計測は0回で、100万ファイルの比較は未完了です。横に広い構成と深い階層の100万件測定は未実行です。","en":"GNU du timed out after 600 seconds during warmup, before any measured run. The 1M-file comparison is incomplete; wide and deep 1M-file workloads were not run.","zh-CN":"GNU du 在预热扫描中达到600秒限制，正式测量为0次。100万文件比较尚未完成；横向和深层的100万文件测试未运行。"},"provenance":{"provider":"local Windows","source":"2645689515ab2e608a78b7492637e55179e4739a","build":{"head":"2645689515ab2e608a78b7492637e55179e4739a","tree":"83dd0978e454d5ce4bc5b0c37d3c69a18a50e657","binary_sha256":"a6a8084fb37efdda4b96498454eb7c4252ee03e991eb21a559f95523ce8fc9d2","source_snapshot_sha256":"f61edf3169c3ffaaeae4dc129accfe2bb99f069c306df57f9c44a6bc8874efbb","cargo_lock_sha256":"4fdb76dec33728e1aba3879a7a11b68962e23521a70018d1eb26ac986df7db47","profile":{"opt-level":3,"lto":"thin","codegen-units":1,"panic":"abort","strip":true,"debug":true,"incremental":false},"features":"default","rustc_version":"rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-msvc\nrelease: 1.98.1\nLLVM version: 22.1.8\n","build_command":"cargo build --locked --release -p hyperdu"},"environment_record_sha256":"9ec6db92995608d354ce3674c857c27692f2181085c8bcd5df163faeae98e04e","du_version":"GNU coreutils 8.32 / Git for Windows / MSYS","tool_hashes":{"hyperdu.exe":"a6a8084fb37efdda4b96498454eb7c4252ee03e991eb21a559f95523ce8fc9d2","du.exe":"dc22867da6d50648fd627c549edc906d97fdecf2f7956b2f3e05fe619976b07e","msys-2.0.dll":"b41bfda735cd7686ab4c2b56b4cc6a6fc6c33992b1739626be94d7ae1e8eed0b"},"cache":"warm","accounting":"apparent-size","thread_selection":"automatic (32 threads)","io_profile":"balanced","scan":"directory scan","flags":{"hyperdu":["--compat","gnu-strict","--apparent-size","--block-size","1","--one-file-system","--io-profile","balanced"],"du":["-x","--apparent-size","--block-size=1"]},"complete":true,"comparison_complete":false,"original_record_sha256":"2893e6d7ee6e16fc63e0c0d873c55f544380098f2d1119a17e31009aeef71eb2","helper_sha256":"fdda8128425db3579d766b0426ce85a6ec47b562a4d93cef3c37a558581e1b1c"},"baseline_outcome":{"status":"timeout","phase":"warmup","timeout_seconds":600,"accepted_measurement_samples":0,"source_record":"flat.json","source_record_sha256":"5aa9a6305113894419a22e7292d05c4a8c3228f9d6cdd8be55c057b4f4b1d6fb"},"rows":[{"label":{"ja":"平坦なフォルダ","en":"Flat directory","zh-CN":"平铺目录"},"shape":"flat","files":"1,000,000","file_count":1000000,"bytes_per_file":256,"hyperdu_ms":589.91,"baseline_ms":null,"ratio":null,"ratio_exact":null,"median_ms_exact":{"hyperdu":589.9123500057613,"du":null},"hyperdu_width":null,"baseline_width":null,"baseline_status":"timeout","all_directory_parity":"HyperDU versus independent oracle: PASS","directory_count":1,"dataset_fingerprint":"00c847e3598d1bc8a6ae5eebeebd28e95a1a4e93aed729b0b830fb9b6c847030","source_record":"loop34-windows-hyperdu-million-flat.json","source_record_sha256":"2893e6d7ee6e16fc63e0c0d873c55f544380098f2d1119a17e31009aeef71eb2","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":623.2966999959899,"cpu_seconds":0.796875,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0},{"round":1,"tool":"hyperdu","elapsed_ms":592.8841000131797,"cpu_seconds":0.84375,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0},{"round":2,"tool":"hyperdu","elapsed_ms":586.9405999983428,"cpu_seconds":0.859375,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0},{"round":3,"tool":"hyperdu","elapsed_ms":575.6218999886187,"cpu_seconds":0.59375,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0},{"round":4,"tool":"hyperdu","elapsed_ms":559.8822000029031,"cpu_seconds":0.75,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0},{"round":5,"tool":"hyperdu","elapsed_ms":595.3983000072185,"cpu_seconds":0.84375,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0},{"round":6,"tool":"hyperdu","elapsed_ms":540.3315000003204,"cpu_seconds":0.65625,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0},{"round":7,"tool":"hyperdu","elapsed_ms":593.337900005281,"cpu_seconds":0.640625,"stdout_sha256":"f6b19729ada31a75b02297781e1079e89c243761af3014a4d65e2202738e5382","direct_directory_parity":true,"exit_code":0}]}]},{"id":"windows-diagnostic","group":"windows","kind":"diagnostic","title":"HyperDU vs GNU du (MSYS)","subtitle":"Local Windows / 10K-file diagnostic","machine":"AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe","candidate":"HyperDU","baseline":"GNU du (MSYS)","show_comparison":true,"accounting":"apparent-size","runs_per_tool":{"hyperdu":2,"du":2},"condition":{"ja":"Windows 11 · 各1万ファイル · 256 B / ファイル · 論理サイズ · 各ツール2回の中央値","en":"Windows 11 · 10K files per tree · 256 B per file · logical size · median of 2 runs per tool","zh-CN":"Windows 11 · 每种结构1万文件 · 每文件256 B · 逻辑大小 · 每个工具2次运行的中位数"},"note":{"ja":"両ツールで全ディレクトリの集計値が一致しました。倍率は1万ファイル・各2回の小規模診断に限られ、100万ファイルや Linux の比較へは適用できません。","en":"All directory totals matched between tools. These ratios apply only to this 10K-file, two-run diagnostic, not to 1M-file workloads or the Linux comparison.","zh-CN":"两个工具的全部目录汇总值一致。倍率仅适用于本次1万文件、各2次运行的小规模诊断，不能用于100万文件或 Linux 比较。"},"provenance":{"provider":"local Windows","source":"2645689515ab2e608a78b7492637e55179e4739a","build":{"head":"2645689515ab2e608a78b7492637e55179e4739a","tree":"83dd0978e454d5ce4bc5b0c37d3c69a18a50e657","binary_sha256":"a6a8084fb37efdda4b96498454eb7c4252ee03e991eb21a559f95523ce8fc9d2","source_snapshot_sha256":"f61edf3169c3ffaaeae4dc129accfe2bb99f069c306df57f9c44a6bc8874efbb","cargo_lock_sha256":"4fdb76dec33728e1aba3879a7a11b68962e23521a70018d1eb26ac986df7db47","profile":{"opt-level":3,"lto":"thin","codegen-units":1,"panic":"abort","strip":true,"debug":true,"incremental":false},"features":"default","rustc_version":"rustc 1.98.1 (48a229cea 2026-09-01)\nbinary: rustc\ncommit-hash: 48a229ceaefd4985c50990b14116b6d856af0985\ncommit-date: 2026-09-01\nhost: x86_64-pc-windows-msvc\nrelease: 1.98.1\nLLVM version: 22.1.8\n","build_command":"cargo build --locked --release -p hyperdu"},"environment_record_sha256":"9ec6db92995608d354ce3674c857c27692f2181085c8bcd5df163faeae98e04e","du_version":"GNU coreutils 8.32 / Git for Windows / MSYS","tool_hashes":{"hyperdu.exe":"a6a8084fb37efdda4b96498454eb7c4252ee03e991eb21a559f95523ce8fc9d2","du.exe":"dc22867da6d50648fd627c549edc906d97fdecf2f7956b2f3e05fe619976b07e","msys-2.0.dll":"b41bfda735cd7686ab4c2b56b4cc6a6fc6c33992b1739626be94d7ae1e8eed0b"},"cache":"warm","accounting":"apparent-size","thread_selection":"automatic (32 threads)","io_profile":"balanced","scan":"directory scan","flags":{"hyperdu":["--compat","gnu-strict","--apparent-size","--block-size","1","--one-file-system","--io-profile","balanced"],"du":["-x","--apparent-size","--block-size=1"]},"complete":true,"comparison_complete":true,"completed_manifest_sha256":"a8f0ca51b250af67bf84551a78d950997d0fd43afdea6f2e076ee3906aea1a95","helper_sha256":"26089c02f8a1b0e616a647d26733126f563a00436f49c1c66c564e9226d821e5"},"rows":[{"label":{"ja":"平坦なフォルダ","en":"Flat directory","zh-CN":"平铺目录"},"shape":"flat","files":"10,000","file_count":10000,"bytes_per_file":256,"hyperdu_ms":32.98,"baseline_ms":704.17,"ratio":21.35,"ratio_exact":21.35036505097013,"median_ms_exact":{"hyperdu":32.98160000122152,"du":704.1691999911563},"hyperdu_width":4.684,"baseline_width":100.0,"baseline_status":"completed","all_directory_parity":"PASS","directory_count":1,"dataset_fingerprint":"e515b2ae912ead44c34e38c1a632a141a57f1ffe2d0a17ef419acfb357afe248","source_record":"flat.json","source_record_sha256":"02738a9ea70d204ef4175fe2261c4a1b1c6ad961e9fa78fafe3e07ba50c1ddbb","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":25.410599992028438,"cpu_seconds":0.109375,"stdout_sha256":"9ca66b33e7f30dbd21495360bc88749f5bb1a651a0ea2c6ca281a0ae43ed47ce","direct_directory_parity":true,"exit_code":0},{"round":0,"tool":"du","elapsed_ms":705.3274999925634,"cpu_seconds":0.703125,"stdout_sha256":"9ca66b33e7f30dbd21495360bc88749f5bb1a651a0ea2c6ca281a0ae43ed47ce","direct_directory_parity":true,"exit_code":0},{"round":1,"tool":"du","elapsed_ms":703.0108999897493,"cpu_seconds":0.6875,"stdout_sha256":"9ca66b33e7f30dbd21495360bc88749f5bb1a651a0ea2c6ca281a0ae43ed47ce","direct_directory_parity":true,"exit_code":0},{"round":1,"tool":"hyperdu","elapsed_ms":40.55260001041461,"cpu_seconds":0.015625,"stdout_sha256":"9ca66b33e7f30dbd21495360bc88749f5bb1a651a0ea2c6ca281a0ae43ed47ce","direct_directory_parity":true,"exit_code":0}]},{"label":{"ja":"横に広いフォルダ","en":"Wide directory tree","zh-CN":"宽目录树"},"shape":"wide","files":"10,000","file_count":10000,"bytes_per_file":256,"hyperdu_ms":27.46,"baseline_ms":712.33,"ratio":25.94,"ratio_exact":25.93785820394013,"median_ms_exact":{"hyperdu":27.46300000580959,"du":712.3314000054961},"hyperdu_width":3.855,"baseline_width":100.0,"baseline_status":"completed","all_directory_parity":"PASS","directory_count":80,"dataset_fingerprint":"7e8c88a153ff90a44e29503556236da1fb1c5ce73675499e1d5245aa8f4badb1","source_record":"wide.json","source_record_sha256":"9d6ffdc57ccd42bbad857bafc96bbbbfa20a0cfc4a2ba128f50b4d315ccb650a","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":30.077100003836676,"cpu_seconds":0.046875,"stdout_sha256":"a06d11fc14a9fb9b67a5246cf64bb2a399db2d19a20babb63816770ea4189aa4","direct_directory_parity":true,"exit_code":0},{"round":0,"tool":"du","elapsed_ms":719.5055000047432,"cpu_seconds":0.71875,"stdout_sha256":"6ad3511ced25e635b69102d41db4619f391a8198c61e14eff142567a9093fe0b","direct_directory_parity":true,"exit_code":0},{"round":1,"tool":"du","elapsed_ms":705.157300006249,"cpu_seconds":0.6875,"stdout_sha256":"6ad3511ced25e635b69102d41db4619f391a8198c61e14eff142567a9093fe0b","direct_directory_parity":true,"exit_code":0},{"round":1,"tool":"hyperdu","elapsed_ms":24.848900007782504,"cpu_seconds":0.15625,"stdout_sha256":"a06d11fc14a9fb9b67a5246cf64bb2a399db2d19a20babb63816770ea4189aa4","direct_directory_parity":true,"exit_code":0}]},{"label":{"ja":"深い階層のフォルダ","en":"Deep directory tree","zh-CN":"深目录树"},"shape":"deep","files":"10,000","file_count":10000,"bytes_per_file":256,"hyperdu_ms":32.32,"baseline_ms":836.73,"ratio":25.89,"ratio_exact":25.892606598802516,"median_ms_exact":{"hyperdu":32.31529999902705,"du":836.7273499970906},"hyperdu_width":3.862,"baseline_width":100.0,"baseline_status":"completed","all_directory_parity":"PASS","directory_count":119,"dataset_fingerprint":"65451e8705f942f3be56822ef7b5ef843ca809682d4d70275134ed1f5ebc393b","source_record":"deep.json","source_record_sha256":"7ecda55d89d5c92c8b0d5a4c2d0ec213942f0b33f26ec79e7cbfa5540ef8ccd1","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":30.50989999610465,"cpu_seconds":0.015625,"stdout_sha256":"d9a590205a2e88aeac75164d46d08e43c5ebc9f425f5d9db70ad5e400333b911","direct_directory_parity":true,"exit_code":0},{"round":0,"tool":"du","elapsed_ms":849.9254999915138,"cpu_seconds":0.796875,"stdout_sha256":"1b9527599e538f6b0ec30860664218d1ae8d3fbd31602f28e8c625bcce5d9741","direct_directory_parity":true,"exit_code":0},{"round":1,"tool":"du","elapsed_ms":823.5292000026675,"cpu_seconds":0.828125,"stdout_sha256":"1b9527599e538f6b0ec30860664218d1ae8d3fbd31602f28e8c625bcce5d9741","direct_directory_parity":true,"exit_code":0},{"round":1,"tool":"hyperdu","elapsed_ms":34.120700001949444,"cpu_seconds":0.015625,"stdout_sha256":"d9a590205a2e88aeac75164d46d08e43c5ebc9f425f5d9db70ad5e400333b911","direct_directory_parity":true,"exit_code":0}]}]},{"id":"windows-dua","group":"windows","kind":"comparison","title":"HyperDU vs dua-cli","subtitle":"Local Windows / 2026-09-30 / d4ebdb8","machine":"AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe","candidate":"HyperDU","baseline":"dua-cli 2.45.0","show_comparison":false,"accounting":"apparent-size","runs_per_tool":{"hyperdu":12,"dua":12},"condition":{"ja":"Windows 11 · 論理サイズ · 各ツール12回の中央値 · 合成3種は各10万ファイル（4 KiB）+ 実データ2種","en":"Windows 11 · logical size · median of 12 runs per tool · three 100K-file synthetic trees + two real trees","zh-CN":"Windows 11 · 逻辑大小 · 每个工具12次运行的中位数 · 3种各10万文件的合成目录 + 2种真实目录"},"note":{"ja":"両ツールの論理バイト合計は、全データセットで独立走査の値と一致しました。HyperDU は5件すべてで短い時間でしたが、差は木の形に左右されます（平坦を除き 1.08〜2.77倍）。深い階層は並列化できる幅がほぼなく、ほぼ同等です。平坦は dua が直下の全エントリを1行ずつ出力する（100,001行）時間を含むため、代表値には使えません。測定中は別プロジェクトのジョブが CPU の60〜90%を使っており、絶対値は膨らんでいます。","en":"Byte totals from both tools equalled the independent walk on every dataset. HyperDU was faster on all five, but the gap depends on tree shape (1.08-2.77x excluding flat). The deep tree has almost no width to parallelize, so the two are close. The flat figure includes dua printing one row per direct entry (100,001 rows) and is not a representative ratio. Unrelated jobs held the CPU at roughly 60-90% busy during measurement, so absolute times are inflated.","zh-CN":"两个工具的逻辑字节总数在全部数据集上都与独立遍历一致。HyperDU 在5项中均更快，但差距取决于目录结构（除平铺外为 1.08–2.77 倍）。深层目录几乎没有可并行的宽度，两者接近。平铺目录的倍率包含 dua 逐条输出直接子项（100,001 行）的时间，不能作为代表值。测量期间其他项目的任务占用了约60–90%的 CPU，绝对值偏大。"},"provenance":{"provider":"local Windows","source":"d4ebdb85577c53e881af292b549bc784f05bec60","build":{"head":"d4ebdb85577c53e881af292b549bc784f05bec60","binary_sha256":"dd8df33382c8b08261480f486898093b3d5bab980358c19f286b2e09fdbe9734","build_command":"cargo build --locked --release -p hyperdu","rustc_version":"rustc 1.98.0 (88d9e12ae 2026-08-18)","toolchain_selection":"RUSTUP_TOOLCHAIN=1.98.0"},"tools":{"hyperdu":{"version":"hyperdu 0.5.0-beta.5","sha256":"dd8df33382c8b08261480f486898093b3d5bab980358c19f286b2e09fdbe9734"},"dua":{"version":"dua 2.45.0","sha256":"08265cf3f5e46a5034a9d8598c7ff3a373d804b8ad2404cc2c30bad1022d31cc"},"tokei":{"version":"tokei 15.0.0 compiled with serialization support: json","sha256":"268c8bda1ca0869a6803dd5ecc16a25963affc0dda86b8e42526d7bee92334d5"}},"install_command":"cargo install --locked dua-cli tokei (isolated --root, same rustc)","cache":"warm","accounting":"apparent-size","runs_per_tool":12,"record":"docs/benchmarks/2026-09-30-windows-vs-dua-tokei.json","record_sha256":"60562c14ba2b131cc184dff5ab9e781b6be9af0d36c48eba7730c8f202f4f5cf","runner":"scripts/bench/compare_tools.py","background_load":"Unrelated background jobs (a densel GC and Python workers) held the 24 logical CPUs at roughly 60-90 percent busy during the run; tools alternate so all see the same load, but absolute times are inflated."},"rows":[{"label":{"ja":"横に広いフォルダ（合成）","en":"Wide directory tree (synthetic)","zh-CN":"宽目录树（合成）"},"shape":"wide","files":"99,856","file_count":99856,"hyperdu_ms":67.57,"baseline_ms":187.37,"ratio":2.77,"ratio_exact":2.7728211085542624,"median_ms_exact":{"hyperdu":67.5745,"dua":187.372},"min_ms":{"hyperdu":46.942,"dua":168.463},"baseline_status":"completed","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":71.405},{"round":1,"tool":"hyperdu","elapsed_ms":127.005},{"round":2,"tool":"hyperdu","elapsed_ms":75.159},{"round":3,"tool":"hyperdu","elapsed_ms":65.449},{"round":4,"tool":"hyperdu","elapsed_ms":67.454},{"round":5,"tool":"hyperdu","elapsed_ms":46.942},{"round":6,"tool":"hyperdu","elapsed_ms":55.276},{"round":7,"tool":"hyperdu","elapsed_ms":59.653},{"round":8,"tool":"hyperdu","elapsed_ms":77.3},{"round":9,"tool":"hyperdu","elapsed_ms":67.695},{"round":10,"tool":"hyperdu","elapsed_ms":72.925},{"round":11,"tool":"hyperdu","elapsed_ms":51.892},{"round":0,"tool":"dua","elapsed_ms":187.71},{"round":1,"tool":"dua","elapsed_ms":227.497},{"round":2,"tool":"dua","elapsed_ms":249.177},{"round":3,"tool":"dua","elapsed_ms":210.491},{"round":4,"tool":"dua","elapsed_ms":184.438},{"round":5,"tool":"dua","elapsed_ms":181.374},{"round":6,"tool":"dua","elapsed_ms":187.034},{"round":7,"tool":"dua","elapsed_ms":179.775},{"round":8,"tool":"dua","elapsed_ms":214.983},{"round":9,"tool":"dua","elapsed_ms":182.173},{"round":10,"tool":"dua","elapsed_ms":168.463},{"round":11,"tool":"dua","elapsed_ms":201.704}],"byte_parity":"HyperDU and dua totals equal the independent lstat oracle: PASS","baseline_output_rows":317},{"label":{"ja":"深い階層のフォルダ（合成）","en":"Deep directory tree (synthetic)","zh-CN":"深层目录树（合成）"},"shape":"deep","files":"100,000","file_count":100000,"hyperdu_ms":179.68,"baseline_ms":194.62,"ratio":1.08,"ratio_exact":1.083185845633251,"median_ms_exact":{"hyperdu":179.676,"dua":194.6225},"min_ms":{"hyperdu":159.224,"dua":169.828},"baseline_status":"completed","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":185.587},{"round":1,"tool":"hyperdu","elapsed_ms":159.224},{"round":2,"tool":"hyperdu","elapsed_ms":169.822},{"round":3,"tool":"hyperdu","elapsed_ms":186.289},{"round":4,"tool":"hyperdu","elapsed_ms":170.732},{"round":5,"tool":"hyperdu","elapsed_ms":192.318},{"round":6,"tool":"hyperdu","elapsed_ms":160.809},{"round":7,"tool":"hyperdu","elapsed_ms":170.296},{"round":8,"tool":"hyperdu","elapsed_ms":238.031},{"round":9,"tool":"hyperdu","elapsed_ms":187.28},{"round":10,"tool":"hyperdu","elapsed_ms":173.765},{"round":11,"tool":"hyperdu","elapsed_ms":263.622},{"round":0,"tool":"dua","elapsed_ms":214.038},{"round":1,"tool":"dua","elapsed_ms":196.789},{"round":2,"tool":"dua","elapsed_ms":221.782},{"round":3,"tool":"dua","elapsed_ms":311.639},{"round":4,"tool":"dua","elapsed_ms":177.011},{"round":5,"tool":"dua","elapsed_ms":171.392},{"round":6,"tool":"dua","elapsed_ms":178.527},{"round":7,"tool":"dua","elapsed_ms":204.148},{"round":8,"tool":"dua","elapsed_ms":169.828},{"round":9,"tool":"dua","elapsed_ms":183.977},{"round":10,"tool":"dua","elapsed_ms":192.456},{"round":11,"tool":"dua","elapsed_ms":203.101}],"byte_parity":"HyperDU and dua totals equal the independent lstat oracle: PASS","baseline_output_rows":1},{"label":{"ja":"平坦なフォルダ（合成）","en":"Flat directory (synthetic)","zh-CN":"平铺目录（合成）"},"shape":"flat","files":"100,000","file_count":100000,"hyperdu_ms":98.8,"baseline_ms":997.51,"ratio":10.1,"ratio_exact":10.096188784469714,"median_ms_exact":{"hyperdu":98.8005,"dua":997.5084999999999},"min_ms":{"hyperdu":68.187,"dua":619.626},"baseline_status":"completed","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":1096.324},{"round":1,"tool":"hyperdu","elapsed_ms":195.622},{"round":2,"tool":"hyperdu","elapsed_ms":333.121},{"round":3,"tool":"hyperdu","elapsed_ms":77.784},{"round":4,"tool":"hyperdu","elapsed_ms":68.187},{"round":5,"tool":"hyperdu","elapsed_ms":84.387},{"round":6,"tool":"hyperdu","elapsed_ms":88.374},{"round":7,"tool":"hyperdu","elapsed_ms":124.169},{"round":8,"tool":"hyperdu","elapsed_ms":94.102},{"round":9,"tool":"hyperdu","elapsed_ms":105.41},{"round":10,"tool":"hyperdu","elapsed_ms":103.499},{"round":11,"tool":"hyperdu","elapsed_ms":86.542},{"round":0,"tool":"dua","elapsed_ms":2078.963},{"round":1,"tool":"dua","elapsed_ms":1324.939},{"round":2,"tool":"dua","elapsed_ms":1674.956},{"round":3,"tool":"dua","elapsed_ms":674.101},{"round":4,"tool":"dua","elapsed_ms":619.626},{"round":5,"tool":"dua","elapsed_ms":864.009},{"round":6,"tool":"dua","elapsed_ms":1071.377},{"round":7,"tool":"dua","elapsed_ms":1122.809},{"round":8,"tool":"dua","elapsed_ms":1568.273},{"round":9,"tool":"dua","elapsed_ms":762.926},{"round":10,"tool":"dua","elapsed_ms":645.192},{"round":11,"tool":"dua","elapsed_ms":923.64}],"byte_parity":"HyperDU and dua totals equal the independent lstat oracle: PASS","baseline_output_rows":100001},{"label":{"ja":"Cargo registry（実データ）","en":"Cargo registry (real files)","zh-CN":"Cargo registry（真实文件）"},"shape":"cargo-registry","files":"107,953","file_count":107953,"hyperdu_ms":478.55,"baseline_ms":554.61,"ratio":1.16,"ratio_exact":1.158958927582568,"median_ms_exact":{"hyperdu":478.545,"dua":554.614},"min_ms":{"hyperdu":369.283,"dua":461.643},"baseline_status":"completed","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":369.283},{"round":1,"tool":"hyperdu","elapsed_ms":934.945},{"round":2,"tool":"hyperdu","elapsed_ms":639.819},{"round":3,"tool":"hyperdu","elapsed_ms":628.699},{"round":4,"tool":"hyperdu","elapsed_ms":768.395},{"round":5,"tool":"hyperdu","elapsed_ms":392.931},{"round":6,"tool":"hyperdu","elapsed_ms":460.934},{"round":7,"tool":"hyperdu","elapsed_ms":395.846},{"round":8,"tool":"hyperdu","elapsed_ms":496.156},{"round":9,"tool":"hyperdu","elapsed_ms":432.882},{"round":10,"tool":"hyperdu","elapsed_ms":565.889},{"round":11,"tool":"hyperdu","elapsed_ms":449.365},{"round":0,"tool":"dua","elapsed_ms":461.643},{"round":1,"tool":"dua","elapsed_ms":769.722},{"round":2,"tool":"dua","elapsed_ms":615.246},{"round":3,"tool":"dua","elapsed_ms":800.581},{"round":4,"tool":"dua","elapsed_ms":573.155},{"round":5,"tool":"dua","elapsed_ms":532.165},{"round":6,"tool":"dua","elapsed_ms":525.803},{"round":7,"tool":"dua","elapsed_ms":499.877},{"round":8,"tool":"dua","elapsed_ms":536.073},{"round":9,"tool":"dua","elapsed_ms":489.16},{"round":10,"tool":"dua","elapsed_ms":831.067},{"round":11,"tool":"dua","elapsed_ms":831.773}],"byte_parity":"HyperDU and dua totals equal the independent lstat oracle: PASS","baseline_output_rows":5},{"label":{"ja":"node_modules（実データ）","en":"node_modules (real files)","zh-CN":"node_modules（真实文件）"},"shape":"node-modules","files":"27,940","file_count":27940,"hyperdu_ms":72.26,"baseline_ms":156.6,"ratio":2.17,"ratio_exact":2.16724791718564,"median_ms_exact":{"hyperdu":72.25800000000001,"dua":156.601},"min_ms":{"hyperdu":63.131,"dua":146.679},"baseline_status":"completed","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":81.591},{"round":1,"tool":"hyperdu","elapsed_ms":63.131},{"round":2,"tool":"hyperdu","elapsed_ms":66.464},{"round":3,"tool":"hyperdu","elapsed_ms":70.286},{"round":4,"tool":"hyperdu","elapsed_ms":69.484},{"round":5,"tool":"hyperdu","elapsed_ms":176.446},{"round":6,"tool":"hyperdu","elapsed_ms":130.363},{"round":7,"tool":"hyperdu","elapsed_ms":72.586},{"round":8,"tool":"hyperdu","elapsed_ms":72.806},{"round":9,"tool":"hyperdu","elapsed_ms":68.481},{"round":10,"tool":"hyperdu","elapsed_ms":118.461},{"round":11,"tool":"hyperdu","elapsed_ms":71.93},{"round":0,"tool":"dua","elapsed_ms":152.05},{"round":1,"tool":"dua","elapsed_ms":156.795},{"round":2,"tool":"dua","elapsed_ms":147.544},{"round":3,"tool":"dua","elapsed_ms":149.199},{"round":4,"tool":"dua","elapsed_ms":156.407},{"round":5,"tool":"dua","elapsed_ms":207.634},{"round":6,"tool":"dua","elapsed_ms":193.269},{"round":7,"tool":"dua","elapsed_ms":146.679},{"round":8,"tool":"dua","elapsed_ms":156.325},{"round":9,"tool":"dua","elapsed_ms":197.824},{"round":10,"tool":"dua","elapsed_ms":177.83},{"round":11,"tool":"dua","elapsed_ms":159.463}],"byte_parity":"HyperDU and dua totals equal the independent lstat oracle: PASS","baseline_output_rows":440}]},{"id":"windows-tokei","group":"windows","kind":"reference","title":"HyperDU / tokei (reference)","subtitle":"Local Windows / 2026-09-30 / different workload","machine":"AMD Ryzen 9 3900X · 12 cores / 24 threads · 128 GiB RAM · NTFS / NVMe","candidate":"HyperDU","baseline":"tokei 15.0.0","show_comparison":false,"accounting":"apparent-size (HyperDU) / line count (tokei)","runs_per_tool":{"hyperdu":12,"tokei":12},"condition":{"ja":"Windows 11 · 実データ2種 · 各ツール12回の中央値 · HyperDU はサイズ集計、tokei は行数解析","en":"Windows 11 · two real trees · median of 12 runs per tool · HyperDU sums sizes, tokei counts lines","zh-CN":"Windows 11 · 2种真实目录 · 每个工具12次运行的中位数 · HyperDU 汇总大小，tokei 统计行数"},"note":{"ja":"tokei はファイルの中身を読んで行数を数える別の処理で、HyperDU はサイズの集計だけです。同じ仕事ではないため速度比は示さず、時間だけを参考に載せます。tokei が解析したのは Cargo registry で 80,897 件、node_modules で 16,576 件（対応言語の拡張子のみ）です。合成データには拡張子がなく tokei が何も解析しないため測っていません。","en":"tokei reads file contents and counts lines, while HyperDU only totals sizes. These are different jobs, so no speed ratio is shown; the times are reference only. tokei parsed 80,897 files in the Cargo registry and 16,576 in node_modules (recognized source extensions only). The synthetic fixtures have no extensions, so tokei parses nothing there and was not timed.","zh-CN":"tokei 读取文件内容并统计行数，而 HyperDU 只汇总大小。两者不是同一项工作，因此不给出速度比，时间仅供参考。tokei 在 Cargo registry 中解析了 80,897 个文件，在 node_modules 中解析了 16,576 个（仅限可识别的源码扩展名）。合成数据没有扩展名，tokei 不会解析任何内容，因此未测量。"},"provenance":{"provider":"local Windows","source":"d4ebdb85577c53e881af292b549bc784f05bec60","build":{"head":"d4ebdb85577c53e881af292b549bc784f05bec60","binary_sha256":"dd8df33382c8b08261480f486898093b3d5bab980358c19f286b2e09fdbe9734","build_command":"cargo build --locked --release -p hyperdu","rustc_version":"rustc 1.98.0 (88d9e12ae 2026-08-18)","toolchain_selection":"RUSTUP_TOOLCHAIN=1.98.0"},"tools":{"hyperdu":{"version":"hyperdu 0.5.0-beta.5","sha256":"dd8df33382c8b08261480f486898093b3d5bab980358c19f286b2e09fdbe9734"},"dua":{"version":"dua 2.45.0","sha256":"08265cf3f5e46a5034a9d8598c7ff3a373d804b8ad2404cc2c30bad1022d31cc"},"tokei":{"version":"tokei 15.0.0 compiled with serialization support: json","sha256":"268c8bda1ca0869a6803dd5ecc16a25963affc0dda86b8e42526d7bee92334d5"}},"install_command":"cargo install --locked dua-cli tokei (isolated --root, same rustc)","cache":"warm","accounting":"apparent-size","runs_per_tool":12,"record":"docs/benchmarks/2026-09-30-windows-vs-dua-tokei.json","record_sha256":"60562c14ba2b131cc184dff5ab9e781b6be9af0d36c48eba7730c8f202f4f5cf","runner":"scripts/bench/compare_tools.py","background_load":"Unrelated background jobs (a densel GC and Python workers) held the 24 logical CPUs at roughly 60-90 percent busy during the run; tools alternate so all see the same load, but absolute times are inflated."},"rows":[{"label":{"ja":"Cargo registry（実データ）","en":"Cargo registry (real files)","zh-CN":"Cargo registry（真实文件）"},"shape":"cargo-registry","files":"107,953","file_count":107953,"hyperdu_ms":478.55,"baseline_ms":9407.19,"median_ms_exact":{"hyperdu":478.545,"tokei":9407.188},"min_ms":{"hyperdu":369.283,"tokei":6988.896},"baseline_status":"completed","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":369.283},{"round":1,"tool":"hyperdu","elapsed_ms":934.945},{"round":2,"tool":"hyperdu","elapsed_ms":639.819},{"round":3,"tool":"hyperdu","elapsed_ms":628.699},{"round":4,"tool":"hyperdu","elapsed_ms":768.395},{"round":5,"tool":"hyperdu","elapsed_ms":392.931},{"round":6,"tool":"hyperdu","elapsed_ms":460.934},{"round":7,"tool":"hyperdu","elapsed_ms":395.846},{"round":8,"tool":"hyperdu","elapsed_ms":496.156},{"round":9,"tool":"hyperdu","elapsed_ms":432.882},{"round":10,"tool":"hyperdu","elapsed_ms":565.889},{"round":11,"tool":"hyperdu","elapsed_ms":449.365},{"round":0,"tool":"tokei","elapsed_ms":6988.896},{"round":1,"tool":"tokei","elapsed_ms":10579.095},{"round":2,"tool":"tokei","elapsed_ms":10100.745},{"round":3,"tool":"tokei","elapsed_ms":9845.563},{"round":4,"tool":"tokei","elapsed_ms":10229.598},{"round":5,"tool":"tokei","elapsed_ms":9130.402},{"round":6,"tool":"tokei","elapsed_ms":8085.757},{"round":7,"tool":"tokei","elapsed_ms":7703.937},{"round":8,"tool":"tokei","elapsed_ms":9683.974},{"round":9,"tool":"tokei","elapsed_ms":13565.203},{"round":10,"tool":"tokei","elapsed_ms":8774.024},{"round":11,"tool":"tokei","elapsed_ms":8109.911}],"tokei_files_parsed":80897},{"label":{"ja":"node_modules（実データ）","en":"node_modules (real files)","zh-CN":"node_modules（真实文件）"},"shape":"node-modules","files":"27,940","file_count":27940,"hyperdu_ms":72.26,"baseline_ms":782.31,"median_ms_exact":{"hyperdu":72.25800000000001,"tokei":782.3085000000001},"min_ms":{"hyperdu":63.131,"tokei":716.856},"baseline_status":"completed","samples":[{"round":0,"tool":"hyperdu","elapsed_ms":81.591},{"round":1,"tool":"hyperdu","elapsed_ms":63.131},{"round":2,"tool":"hyperdu","elapsed_ms":66.464},{"round":3,"tool":"hyperdu","elapsed_ms":70.286},{"round":4,"tool":"hyperdu","elapsed_ms":69.484},{"round":5,"tool":"hyperdu","elapsed_ms":176.446},{"round":6,"tool":"hyperdu","elapsed_ms":130.363},{"round":7,"tool":"hyperdu","elapsed_ms":72.586},{"round":8,"tool":"hyperdu","elapsed_ms":72.806},{"round":9,"tool":"hyperdu","elapsed_ms":68.481},{"round":10,"tool":"hyperdu","elapsed_ms":118.461},{"round":11,"tool":"hyperdu","elapsed_ms":71.93},{"round":0,"tool":"tokei","elapsed_ms":757.927},{"round":1,"tool":"tokei","elapsed_ms":750.277},{"round":2,"tool":"tokei","elapsed_ms":716.856},{"round":3,"tool":"tokei","elapsed_ms":728.735},{"round":4,"tool":"tokei","elapsed_ms":783.898},{"round":5,"tool":"tokei","elapsed_ms":952.428},{"round":6,"tool":"tokei","elapsed_ms":785.427},{"round":7,"tool":"tokei","elapsed_ms":777.593},{"round":8,"tool":"tokei","elapsed_ms":780.719},{"round":9,"tool":"tokei","elapsed_ms":942.022},{"round":10,"tool":"tokei","elapsed_ms":1031.282},{"round":11,"tool":"tokei","elapsed_ms":944.396}],"tokei_files_parsed":16576}]}],"headline_platform":"linux","method_scope":"The pinned method URL describes the Linux comparison; Windows flags and records are included under each Windows provenance entry."}
