FastExpressionCompiler 3.1.0-preview-02

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

Showing the top 20 packages that depend on FastExpressionCompiler.

Packages Downloads
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
40
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
41
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
42
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
43
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
44
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
46
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
47
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
49
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
50
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
53
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
56
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
79
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
90
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
93
RulesEngine
Rules Engine is a package for abstracting business logic/rules/policies out of the system. This works in a very simple way by giving you an ability to put your rules in a store outside the core logic of the system thus ensuring that any change in rules doesn't affect the core system.
444

## v3.1.0 Bug-fix release - added: #297 Add custom Constant to string output in the ToCSharpString and ToExpressionString - added: #303 Add CompilerFlags.ThrowOnNotSupportedException and throw NotSupportedExpressionException when the flag is passed to CompileFast - fixed: #301 Another case of the InvalidOperationException in the Mapster - fixed: ListInit compilation for the Dictionary - fixed: the lookup for the non-public property setter ## v3.0.5 Bug-fix release - fixed: another case in #301 InvalidOperationException in the Mapster - fixed: multiple problems with the TryCatch C# and Expression string output ## v3.0.4 Bug-fix release - fixed: #302 Error compiling expression with array access ## v3.0.3 Bug-fix release - fixed: #301 InvalidOperationException in the Mapster - fixed: small bugs in the Lambda ToCSharpString output ## v3.0.2 Bug-fix release - fixed: #300 Bad label content in ILGenerator in the Mapster benchmark with FEC V3 - fixed: Small issues with the `ToCSharpString()`, specifically in the TryCatch, and the Goto, and the Label expressions ## v3.0.1 Bug-fix release fixed: #298 LightExpression with the NewExpression of 4 arguments has ArgumentCount = 3 ## v3.0.0 - Major feature release This version contains a lot of fixes and improvements and as-little-as-possible breaking changes. ### **FastExpressionCompiler** and **FastExpressionCompiler.LightExpression** - Performance and memory consumption are improved, especially for the expressions with the closure and for expressions with the nested lambdas. - More expression types are supported. - Many fixes in the IL Emit. - Added `ToCSharpString()` extension method to output the compile-able C# code described by the expression (tries hard). - Added `ToExpressionString()` extension method to output the valid expression construction syntax, so given an expression object you'll get e.g. `Lambda(New(...))`. - Added optional `enum CompilerFlags { Default, NoInvocationLambdaInlining, EnableDelegateDebugInfo}` parameter for the compilation - `EnableDelegateDebugInfo` adds the diagnostic info into the compiled delegate including its source Expression and C# code. Can be used as following: ```cs var f = e.CompileFast(true, CompilerFlags.EnableDelegateDebugInfo); var di = f.Target as IDelegateDebugInfo; Assert.IsNotNull(di.Expression); Assert.IsNotNull(di.ExpressionString); Assert.IsNotNull(di.CSharpString); ``` ### **FastExpressionCompiler.LightExpression** - Now includes the `ExpressionVisitor`. - Improves the compatibility (the drop-in replacement) between the `FastExpressionCompiler.LightExpression.Expression` and the `System.Linq.Expression`. - Decreasing the memory consumed by the created expressions partially via implementing the `IArgumentProvider` and `IParameterProvider` for some expressions. ### The full list of the closed issues [Milestone v3.0.0](https://github.com/dadhi/FastExpressionCompiler/milestone/19)

.NET Framework 4.5

.NET Standard 2.0

.NET Standard 2.1

  • No dependencies.

Version Downloads Last updated
5.2.0 11 05/15/2025
5.2.0-preview-02 15 04/28/2025
5.2.0-preview-01 14 04/28/2025
5.1.1 18 04/04/2025
5.1.0 22 04/01/2025
5.0.3 17 03/30/2025
5.0.2 23 02/11/2025
5.0.1 19 12/25/2024
5.0.0 16 11/28/2024
4.2.2 20 10/19/2024
4.2.1 46 07/23/2024
4.2.0 43 07/23/2024
4.1.0 50 07/23/2024
4.0.2 51 07/23/2024
4.0.1 110 02/05/2024
4.0.0 35 07/23/2024
3.4.0-preview-01 38 07/23/2024
3.3.4 50 07/23/2024
3.3.3 91 02/04/2024
3.3.2 41 07/23/2024
3.3.1 43 07/23/2024
3.3.0 45 07/23/2024
3.2.2 45 07/23/2024
3.2.1 45 05/29/2024
3.2.0 40 07/23/2024
3.1.0 45 07/23/2024
3.1.0-preview-03 43 07/23/2024
3.1.0-preview-02 50 07/23/2024
3.1.0-preview-01 41 07/23/2024
3.0.6-preview-01 40 07/23/2024
3.0.5 42 07/23/2024
3.0.4 45 07/23/2024
3.0.3 42 07/23/2024
3.0.2 47 07/23/2024
3.0.1 43 07/23/2024
3.0.0 43 07/23/2024
3.0.0-preview-07 40 07/20/2024
3.0.0-preview-06 41 07/23/2024
3.0.0-preview-05 43 07/23/2024
3.0.0-preview-04 43 07/23/2024
3.0.0-preview-03 42 07/23/2024
3.0.0-preview-02 46 07/23/2024
3.0.0-preview-01 42 07/23/2024
2.0.0 44 07/23/2024
2.0.0-preview-03 36 07/23/2024
2.0.0-preview-02 41 07/23/2024
2.0.0-preview-01 45 07/21/2024
1.10.1 39 07/23/2024
1.10.0 39 07/23/2024
1.9.0 45 07/23/2024
1.8.0 43 07/23/2024
1.7.2 46 07/23/2024
1.7.1 45 07/23/2024
1.7.0 36 07/23/2024
1.6.0 43 07/23/2024
1.5.0 40 07/23/2024
1.4.0 44 07/23/2024
1.3.0 34 07/23/2024
1.2.2 44 07/23/2024
1.2.1 48 07/23/2024
1.2.0 44 07/23/2024
1.1.1 37 07/23/2024
1.1.0 42 07/23/2024
1.0.1 41 07/23/2024
1.0.0 44 07/23/2024
1.0.0-preview-04 43 07/23/2024
1.0.0-preview-03 45 07/23/2024
1.0.0-preview-02 43 07/23/2024
1.0.0-preview-01 43 07/23/2024