What problem does it solve?
Slow .NET code often comes from inefficient type design, leaky abstractions, and unnecessary allocations that reduce throughput in hot paths.
Core Features & Use Cases
- Seal types and clarify extension intent for faster calls and safer API evolution, especially in libraries and public domain models.
- Prefer readonly structs and record structs for small immutable value types to avoid defensive copies and improve locality, especially for IDs, money/value objects, and coordinates.
- Use allocation-aware patterns like static pure functions, deferred enumeration, appropriate Task vs ValueTask, and Span/Memory to reduce LINQ/materialization overhead and improve performance in request/response workloads and streaming pipelines.
- Choose correct collection boundaries by returning immutable or frozen collections at API edges to prevent accidental mutation and stabilize performance.
Quick Start
Apply the performance type design rules to your codebase by reviewing a specific set of types and methods for sealing, readonly/value semantics, enumeration strategy, and collection return types.