High-performance .NET libraries
Zero allocations.
Native AOT.
Compile-time correctness.
A family of source-generated .NET libraries that eliminate runtime allocations, reflection, and dynamic dispatch from your hot paths.
Packages
ZeroAlloc.Analyzers
42+ Roslyn analyzers that detect allocation-heavy patterns at build time.
Build-time allocation detection
ZeroAlloc.Inject
Compile-time dependency injection via Roslyn source generator. No reflection, fully Native AOT safe.
~3 ns vs ~35 ns (Microsoft DI)
ZeroAlloc.Mediator
Zero-allocation source-generated mediator for request/response and notifications.
~2 ns vs ~88 ns (MediatR)
ZeroAlloc.ValueObjects
Source-generated Equals, GetHashCode, == and ToString for existing partial class/struct types.
3.1 ns vs 45.2 ns (CFE)
ZeroAlloc.Validation
Source-generated, attribute-based validation for .NET. Zero heap allocations on the valid path — no reflection, no runtime overhead, Native AOT safe.
6.7 ns vs 327 ns (FluentValidation), 0 B
ZeroAlloc.Pipeline
Shared building block for pipeline-aware source generators. Compile-time behavior wiring, no reflection, no heap allocation, Native AOT compatible.
6.4× faster at 5 behaviors, 0 B allocated
ZeroAlloc.Specification
Source-generated, zero-allocation specification pattern for .NET 8+.
Struct composition, 0 B allocated
ZeroAlloc.Results
Zero-allocation, no-boxing Result<T,E> library for .NET 9 with full CSharpFunctionalExtensions API parity.
8.7× faster vs CSharpFunctionalExtensions, 0 B allocated
ZeroAlloc.Rest
Source-generated, Native AOT-compatible REST client for .NET 10+. Define your HTTP API as a C# interface — the Roslyn generator emits a fully type-safe, zero-reflection implementation at compile time.
3.2×–5.5× faster vs Refit
ZeroAlloc.Collections
Zero-allocation, high-performance collection types for .NET — pooled lists, ring buffers, span dictionaries, stacks, queues, and fixed-size lists with ref struct and heap variants.
2× faster, 0 B vs List<T>
ZeroAlloc.AsyncEvents
Zero-allocation async event primitives for .NET. ValueTask-based AsyncEvent<T> with sequential and parallel invocation modes, source-generated dispatch, no reflection.
0 B sequential, 3× faster parallel vs naive async
ZeroAlloc.Notify
Zero-allocation async INPC library for .NET. Roslyn source generator wires PropertyChanged/PropertyChanging dispatch at compile time — no reflection, fully awaitable.
Only fully-awaitable INPC, ValueTask dispatch
ZeroAlloc.Telemetry
Source-generated OpenTelemetry proxy for .NET. Annotate an interface — the Roslyn generator emits a BCL-based ActivitySource + Meter decorator. No OpenTelemetry SDK dependency, fully Native AOT safe.
Zero-alloc spans + metrics, no OTel SDK
ZeroAlloc.EventSourcing
Zero-allocation event sourcing for .NET 8+. Struct-based aggregate state, in-memory and SQL backends, source-generated aggregate boilerplate, optional OpenTelemetry instrumentation.
Struct state, 0 B on the read path
ZeroAlloc.Serialisation
Source-generated, zero-allocation serialization for .NET 8+. Annotate a type — the Roslyn generator emits a sealed ISerializer<T> implementation. No reflection, no boxing, Native AOT safe.
0 B intermediate allocation, AOT safe
ZeroAlloc.Scheduling
Source-generated background job scheduler for .NET. [Job] annotation wires up executor, DI registration, and recurring startup at compile time — no convention scanning at runtime. InMemory, EF Core, and Redis backends.
[Job] attribute, no runtime scanning
ZeroAlloc.Cache
Source-generated zero-allocation caching proxy for .NET. Annotate an interface with [Cache] — Roslyn emits a transparent proxy with zero allocation on the cache-hit path. IMemoryCache and HybridCache backends.
0 B on cache-hit path, generator-emitted proxy
ZeroAlloc.Resilience
Source-generated, zero-allocation resilience policies for .NET. [Retry], [Timeout], [RateLimit], and [CircuitBreaker] compose into a generated proxy with zero heap allocation on the happy path. AOT-safe.
0 B happy-path retry / timeout / circuit-breaker
ZeroAlloc.StateMachine
Source-generated, zero-allocation finite state machines for .NET. [StateMachine] and [Transition<TState, TTrigger>] attributes lower to a switch expression over tuples. No dictionary, no delegate dispatch, AOT-safe.
switch-expression dispatch, 0 B per transition
ZeroAlloc.Outbox
Source-generated transactional outbox for .NET. [OutboxMessage] emits a typed writer and dispatcher bridge — no reflection, no boxing, AOT-safe. EF Core (production) and InMemory (tests) stores, polling worker, exponential-backoff retry, dead-letter.
Typed writers + dispatcher bridge, AOT-safe
ZeroAlloc.Saga
Source-generated long-running process orchestration. Declare a saga as a partial class — the generator emits the state machine, notification handlers, and dispatch wiring. Compensation runs in reverse on failure. Native AOT compatible.
Source-generated saga FSM, compensation in reverse
ZeroAlloc.Authorization
Authorization primitives for .NET — IAuthorizationPolicy contract, [Authorize] / [AuthorizationPolicy] attributes, ISecurityContext for hosts to extend. Source-of-truth contract package consumed by AI.Sentinel and ZeroAlloc.Mediator.Authorization.
Contract-only, AOT-safe, hosts dispatch
ZeroAlloc.Mapping
Source-generated, strongly-typed object mappers for .NET. The Roslyn generator emits Command→Domain→DTO mapping code at compile time — no reflection, no expression trees, no runtime configuration. Native AOT safe.
0 B beyond the destination instance
ZeroAlloc.ORM
Source-generated raw-SQL data access for .NET 10. Write the SQL in a [Query], [Command] or [StoredProcedure] attribute — the generator emits typed parameter binding and row materialization. No reflection, no LINQ provider, NativeAOT-clean.
Your SQL, generated ADO.NET, AOT-clean
ZeroAlloc.Flux
Source-generated Flux/Redux state management for .NET. [Feature] state and [Reducer] methods compile into stores and one dispatcher — no reflection, no handler dictionaries. Blazor adapter included, Native AOT safe.
0 B per dispatch, compile-time wiring
ZeroAlloc.Templates
dotnet new Web API templates for the ZeroAlloc ecosystem: za-clean (Clean Architecture) and za-vertical-slice (Vertical Slice). Pre-wired with the ZeroAlloc packages, tests and benchmarks, published as Native AOT.
Two architectures, one dotnet new