mix benchmark (pipe_assign v1.0.0)
Run performance benchmarks for PipeAssign.
This task runs benchmarks comparing the performance of assign_to/2
macro
versus traditional assignment patterns.
Usage
# Run quick comparison (default)
mix benchmark
# Run comprehensive benchmark suite
mix benchmark --full
# Run specific benchmark type
mix benchmark --type=hotpath
mix benchmark --type=complex
mix benchmark --type=string
Options
--full
- Run the comprehensive benchmark suite (takes longer)--type=TYPE
- Run specific benchmark type (hotpath, complex, string, list, map)--output=FILE
- Save HTML results to specified file
Benchmark Types
quick
- Fast comparison of common patterns (default)full
- Comprehensive test suite with multiple data sizeshotpath
- Focus on performance-critical scenarioscomplex
- Multi-step pipeline comparisonsstring
- String processing benchmarkslist
- List processing benchmarksmap
- Map manipulation benchmarks
Test Environment
All benchmark results and performance recommendations are based on testing performed on:
- Hardware: MacBook Air M1 16GB RAM
- Operating System: macOS
- Elixir Version: 1.18.3
- Erlang/OTP Version: 27.3.3
- JIT Compilation: Enabled
Performance characteristics will vary on different hardware configurations.