Commit Graph
5 Commits
Author SHA1 Message Date
gamertan c8b578c2c6 Merge pull request 'v0.2.0 - Performance & Distribution' (#1) from feat/optimization-refactor into main
Reviewed-on: #1
2026-01-22 15:26:33 -05:00
gamertan 276c6404a9 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
2026-01-22 15:00:48 -05:00
gamertan db9059e2fc feat: optimization refactor, test suite, and dependency cleanup
Refactored the application to improve performance, maintainability, and binary size.

Key Changes:
- **Core Algorithm**: Switched to a parallel, single-pass tree construction algorithm for O(N) traversal.
- **Architecture**: Extract core logic from `main.rs` to `lib.rs` to enable unit testing.
- **Testing**: Added comprehensive unit tests and integration tests (`tests/cli.rs`) covering CLI arguments and output formats.
- **Benchmarking**: Added `criterion` benchmarks for performance tracking.
- **Dependencies**:
  - Removed `walkdir` (logic replaced by `ignore` + custom tree).
  - Removed `humansize` (consolidated to `byte-unit`).
  - Replaced `chrono` with lightweight `time` crate.
  - Removed unused `atty`.
- **Reporting**: Optimized CSV and JSON output for correctness and zero-copy performance.
- **Documentation**: Updated CHANGELOG.md and bumped version to 0.2.0.
2026-01-22 13:33:38 -05:00
gamertan f379064e44 feat: v0.2.0 optimization refactor and docs
- Refactor core traversal to single-pass O(N) tree construction
- Optimize CSV output using `csv` crate for robust escaping
- Optimize JSON output with zero-copy serialization
- Add MANUAL.md
- Bump version to 0.2.0
- Remove walkdir dependency
2026-01-22 13:17:12 -05:00
gamertan aa469b47c0 feat: Initial launch v0.1.0
Initialize `sized` CLI tool with comprehensive features for directory visualization.

Features:
- Fast parallel directory traversal using `rayon`.
- Rich table output with colors and dual units (Binary/Decimal).
- Recursive sizing with depth control (`-d`).
- Filtering by minimum size (`-m`).
- Sorting by name, type, size, or blocks (`--sort`).
- Gitignore integration (`--ignore`).
- Multiple output formats: Text, CSV, JSON (`--format`).
- Export to file functionality (`--save`).
- Shell completion generation (`--completions`).
2026-01-22 12:17:19 -05:00