EnumFasterizer 1.1.3
dotnet add package EnumFasterizer --version 1.1.3
NuGet\Install-Package EnumFasterizer -Version 1.1.3
<PackageReference Include="EnumFasterizer" Version="1.1.3" />
<PackageVersion Include="EnumFasterizer" Version="1.1.3" />
<PackageReference Include="EnumFasterizer" />
paket add EnumFasterizer --version 1.1.3
#r "nuget: EnumFasterizer, 1.1.3"
#:package EnumFasterizer@1.1.3
#addin nuget:?package=EnumFasterizer&version=1.1.3
#tool nuget:?package=EnumFasterizer&version=1.1.3
EnumFasterizer
A small .NET library focused on making common enum operations faster by avoiding repeated reflection and repeated allocations.
This project targets:
- .NET Standard 2.0 (broad compatibility)
- .NET 9 (latest runtime improvements)
Why
The built-in System.Enum APIs are convenient, but some usage patterns can be expensive when called frequently (for example in hot paths, tight loops, or high-throughput services), especially when repeatedly:
- enumerating enum values
- mapping values ↔ names
- parsing strings to enums
- looking up enum metadata (attributes, underlying numeric values)
EnumFasterizer is intended to amortize those costs via caching and reuse.
Goals / Design
High-level approach (conceptual pseudocode):
- On first use per enum type
TEnum:- read and cache all values (and any needed metadata)
- build fast lookup tables (for name→value, value→name, etc.)
- On subsequent uses:
- serve requests from cached data structures
- avoid reflection and minimize allocations
Features (typical use cases)
Depending on what the library exposes in code, EnumFasterizer generally aims to help with:
- Faster “get all values” patterns (reuse a cached array/span)
- Faster value-to-name and name-to-value lookups
- Reduced allocation patterns compared to repeated
Enum.GetValues(...)/Enum.GetName(...)usage - Thread-safe, reusable caches per enum type
Note: See the public API in the source (and IntelliSense/XML docs) for the exact entry points and supported options.
Install
dotnet add package EnumFasterizer
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.