feat: v0.2.0 - Performance optimization and distribution pipeline

- Implemented multi-threaded directory traversal using ignore::WalkParallel
- Added dynamic thread allocation for balanced CPU utilization
- Refactored core logic to single-pass, in-memory tree construction (O(N))
- Added --compare, --units, and --precision flags
- Established SCM-neutral distribution pipeline (Makefile, release.sh, Homebrew)
- Comprehensive updates to README.md, MANUAL.md, and CHANGELOG.md
- Decoupled from SCM-specific workflows
This commit is contained in:
2026-01-22 15:00:48 -05:00
parent db9059e2fc
commit 276c6404a9
13 changed files with 763 additions and 138 deletions
+74
View File
@@ -0,0 +1,74 @@
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH sized 1 "sized 0.2.0"
.SH NAME
sized
.SH SYNOPSIS
\fBsized\fR [\fB\-v\fR|\fB\-\-version\fR] [\fB\-m\fR|\fB\-\-min\-size\fR] [\fB\-n\fR|\fB\-\-number\fR] [\fB\-\-sort\fR] [\fB\-d\fR|\fB\-\-depth\fR] [\fB\-f\fR|\fB\-\-path\-full\fR] [\fB\-\-path\-relative\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-\-completions\fR] [\fB\-i\fR|\fB\-\-ignore\fR] [\fB\-\-format\fR] [\fB\-\-save\fR] [\fB\-\-precision\fR] [\fB\-\-units\fR] [\fB\-\-compare\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fIPATH\fR]
.SH DESCRIPTION
.SH OPTIONS
.TP
\fB\-v\fR, \fB\-\-version\fR
Print version
.TP
\fB\-m\fR, \fB\-\-min\-size\fR \fI<MIN_SIZE>\fR
Minimum size filter (e.g. "10MB", "1gb")
.TP
\fB\-n\fR, \fB\-\-number\fR \fI<NUMBER>\fR
Limit the number of results per table
.TP
\fB\-\-sort\fR \fI<SORT>\fR
Sort by columns (e.g. "type:asc,size:dsc"). defaults to size:dsc. Columns: name, type, size, blocks
.TP
\fB\-d\fR, \fB\-\-depth\fR \fI<DEPTH>\fR [default: 0]
Depth to traverse (0 = only immediate children)
.TP
\fB\-f\fR, \fB\-\-path\-full\fR
Display full absolute paths
.TP
\fB\-\-path\-relative\fR
Display paths relative to current directory (default)
.TP
\fB\-j\fR, \fB\-\-threads\fR \fI<THREADS>\fR
Number of threads to use (defaults to available logical CPUs)
.TP
\fB\-\-completions\fR \fI<COMPLETIONS>\fR
Generate shell completions
.br
.br
[\fIpossible values: \fRbash, elvish, fish, powershell, zsh]
.TP
\fB\-i\fR, \fB\-\-ignore\fR
Respect .gitignore and .ignore files
.TP
\fB\-\-format\fR \fI<FORMAT>\fR [default: text]
Output format
.br
.br
[\fIpossible values: \fRtext, csv, json]
.TP
\fB\-\-save\fR [\fI<SAVE>\fR]
Save output to file (optional filename, defaults to timestamped name)
.TP
\fB\-\-precision\fR \fI<PRECISION>\fR [default: 2]
Precision for size output (decimal places)
.TP
\fB\-\-units\fR \fI<UNITS>\fR [default: binary]
Unit system to use
.br
.br
[\fIpossible values: \fRbinary, decimal]
.TP
\fB\-\-compare\fR
Show comparison between total and non\-ignored files
.TP
\fB\-h\fR, \fB\-\-help\fR
Print help
.TP
[\fIPATH\fR] [default: .]
Directory to analyze
.SH VERSION
v0.2.0