FastExpressionCompiler.src 5.4.0

FastExpressionCompiler is 10-40x times faster than Expression.Compile()

Showing the top 20 packages that depend on FastExpressionCompiler.src.

Packages Downloads
Parlot
Parlot is a fast, lightweight and simple to use .NET parser combinator.
14

## v5.4.0 Feature and bug-fix release ### Features - #398 Optimize Switch with OpCodes.Switch - #484 PrintIL options to output op-codes in the format directly copyable to AssertOpCodes method - #482 [impl] Update to the modern optimized and fixed versions of ImTools SmallList and SmallMap ### Fixes - Multiple fixes in `ToCSharpString`, `PrintCSharp` - #480 "CLR detected an invalid program" exception - #483 fix recursive PrintIL output for Label Offset and Argument Ordinal - #485 PrintCSharp for Switch does not prints "break" when required - #487 Fix ToCSharpString output for boolean equality expressions - #490 Regression in compiling lambdas with ref struct parameters - by [exyi](https://github.com/exyi) #491 Fix unsigned int to floating point number conversion - by [exyi](https://github.com/exyi) #493 Fix ParentFlags propagating in TryEmitNewExpression - #495 Incomplete pattern detection for error 1007: Return goto from TryCatch with Assign generates invalid IL instead of failing gracefully ### Full Changelog https://github.com/dadhi/FastExpressionCompiler/compare/v5.3.3...v5.4.0 ## v5.3.3 Bug-fix release (src packages only) - fixed: #488 Fix warnings in src package ## v5.3.2 Bug-fix release (src packages only) - fixed: #481 The 5.3.0 source package is broken and doesn't include all required source files ## v5.3.0 Feature release - feat: [performance] Reuse the ILGenerator used by the nested lambda compilation - feat: [performance] Reuse DynamicMethod if possible - feat: Add debug diagnostics to the nested lambdas - fix: System.ExecutionEngineException with nullables on repeated calls to ConcurrentDictionary **Full Changelog**: https://github.com/dadhi/FastExpressionCompiler/compare/v5.2.0...v5.3.0 ## v5.2.0 Feature release - feat: #466 Simplify creation of the updateable value that can be put into Closure with the Expression.ConstantRef - feat: #472 Interpreter to reduce the IL emitted by the Logical, Comparison, Arithmetics expressions, by calculating them during compile time and using the calculation result in IL - feat: Expose TestTools and FastExpressionCompiler.ILDecoder to enable testing and diagnostic in the consumer code ## v5.1.1. Bug-fix release - fix: #461 InvalidProgramException when null checking type by ref - fix: #462 Optimize Equality comparison with null **Full Changelog**: https://github.com/dadhi/FastExpressionCompiler/compare/v5.1.0...v5.1.1 ## v5.1.0 Small feature release - add: #458 Add Support for TryFault - fix: #460 ArgumentException when converting from object to type with explicit operator **Full Changelog**: https://github.com/dadhi/FastExpressionCompiler/compare/v5.0.3...v5.1.0 ## v5.0.3 Bug-fix release - fix: #451 Operator implicit/explicit produces InvalidProgram - fix: #455 TypeAs should return null when it cannot cast to a nullable #455 **Full Changelog**: https://github.com/dadhi/FastExpressionCompiler/compare/v5.0.2...v5.0.3 ## v5.0.2 Bug-fix release -fix: #449 MemberInit produces InvalidProgram **Full Changelog**: https://github.com/dadhi/FastExpressionCompiler/compare/v5.0.1...v5.0.2 ## v5.0.1 Bug-fix release - fix: #437 Shared variables with nested lambdas returning incorrect values - fix: #439 Support unused Field access in Block - fix: #440 Errors with simplified Switch cases - fix: #441 Fails to pass Constant as call parameter by-reference - fix: #442 TryCatch and the Goto outside problems - fix: #443 Nested Calls with Lambda Parameters Throwing NotSupportedExpressionException ## v5.0.0 Major feature release - feat: #271 Add conversion from the System Expression to the Light Expression to allow hoisted system expression embedding in the larger light expression - feat: #432 Add explicit target for .NET 9 - feat: #434 ToCSharpString should generate stable names for the unnamed variables, parameters and labels - fix: #262 Optimize OpCode.Ceq plus Branch into a single compare-and-branch - fix: #424 TryCatch expression as argument in Call expression produces invalid program - fix: #426 Directly passing a method result to another method by ref, fails with InvalidProgramException - fix: #427 CSharp output with more consistency, robustness and more understandable code - fix: #428 Expression.Switch without a default case incorrectly calls first case for unmatched values - fix: #430 TryCatch - Bad label content in ILGenerator

.NET 8.0

  • No dependencies.

.NET Framework 4.7.2

.NET Standard 2.0

Version Downloads Last updated
5.4.0 1 2026/4/9
5.3.3 5 2025/11/4
5.3.2 5 2025/11/5
5.3.1 5 2025/11/5
5.3.0 7 2025/6/14
5.2.0 9 2025/5/27
5.1.1 7 2025/6/3
5.1.0 8 2025/6/4
5.0.3 6 2025/6/4
5.0.2 6 2025/6/4
5.0.1 6 2025/6/4
5.0.0 7 2025/6/6
4.2.2 8 2025/6/2
4.2.1 6 2025/6/2
4.2.0 6 2025/6/3
4.1.0 7 2025/5/28
4.0.2 6 2025/6/3
4.0.1 6 2025/6/3
4.0.0 13 2025/4/17
3.3.4 6 2025/6/3
3.3.3 7 2025/6/4
3.3.2 7 2025/6/2
3.3.1 6 2025/6/2
3.3.0 9 2025/6/4
3.2.2 7 2025/6/2
3.2.1 7 2025/6/2
3.2.0 9 2025/6/3
3.1.0 7 2025/6/3
3.0.5 6 2025/6/4
3.0.4 6 2025/6/3
3.0.3 7 2025/6/4
3.0.2 5 2025/6/3
3.0.1 6 2025/6/3
3.0.0 7 2025/6/4