FastExpressionCompiler 3.0.0-preview-05

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

Showing the top 20 packages that depend on FastExpressionCompiler.

Packages Downloads
ExpressionToCodeLib
Generates valid, readable C# from an expression tree, and can annotate that code with runtime values. Useful for e.g. code generation and unit testing assertions.
14
ExpressionToCodeLib
Generates valid, readable C# from an expression tree, and can annotate that code with runtime values. Useful for e.g. code generation and unit testing assertions.
15
ExpressionToCodeLib
Generates valid, readable C# from an expression tree, and can annotate that code with runtime values. Useful for e.g. code generation and unit testing assertions.
16
ExpressionToCodeLib
Generates valid, readable C# from an expression tree, and can annotate that code with runtime values. Useful for e.g. code generation and unit testing assertions.
17
ExpressionToCodeLib
Generates valid, readable C# from an expression tree, and can annotate that code with runtime values. Useful for e.g. code generation and unit testing assertions.
18
ExpressionToCodeLib
Generates valid, readable C# from an expression tree, and can annotate that code with runtime values. Useful for e.g. code generation and unit testing assertions.
26

## v3.0.0 - Major feature release The version contains a lot of fixes and improvements and hopefully as-little-as-possible breaking changes. ### **FastExpressionCompiler** and **FastExpressionCompiler.LightExpression** - Performance and memory consumption is improved, especially for the expressions with the closure and for expressions with the nested lambdas. - Filled the gaps in the expressions support. - Many fixes in the IL emit. - Adds `ToCSharpString()` to output the compile-able C# code described by the expression (tries hard). - Adds `ToExpressionString()` to output the valid expression construction syntax, so given an expression object you'll get e.g. `Lambda(New(...))`. - Adds 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 `FastExpressionCompiler.LightExpression.Expression` and `System.Linq.Expression`. - Decreasing the memory consumed by the created expressions, plus implementing the `IArgumentProvider` and `IParameterProvider` for some of the expressions. ### The full list of fixes [Milestone v3.0.0](https://github.com/dadhi/FastExpressionCompiler/milestone/19)

.NET Framework 4.5

.NET Standard 2.0

Version Downloads Last updated
5.2.0 3 05/15/2025
5.2.0-preview-02 5 05/01/2025
5.2.0-preview-01 6 04/27/2025
5.1.1 10 04/04/2025
5.1.0 9 04/05/2025
5.0.3 8 04/05/2025
5.0.2 12 01/29/2025
5.0.1 12 12/29/2024
5.0.0 13 12/03/2024
4.2.2 17 11/14/2024
4.2.1 17 11/28/2024
4.2.0 22 05/28/2024
4.1.0 17 05/28/2024
4.0.2 14 05/28/2024
4.0.1 19 05/28/2024
4.0.0 18 05/28/2024
3.4.0-preview-01 18 05/28/2024
3.3.4 16 05/28/2024
3.3.3 25 03/13/2024
3.3.2 15 05/28/2024
3.3.1 20 05/28/2024
3.3.0 22 05/28/2024
3.2.2 23 05/28/2024
3.2.1 15 05/28/2024
3.2.0 15 05/28/2024
3.1.0 16 05/28/2024
3.1.0-preview-03 18 05/28/2024
3.1.0-preview-02 18 05/28/2024
3.1.0-preview-01 23 05/28/2024
3.0.6-preview-01 20 05/22/2024
3.0.5 17 05/28/2024
3.0.4 14 05/28/2024
3.0.3 16 05/28/2024
3.0.2 17 05/28/2024
3.0.1 19 05/22/2024
3.0.0 20 05/28/2024
3.0.0-preview-07 16 05/28/2024
3.0.0-preview-06 16 05/28/2024
3.0.0-preview-05 18 05/28/2024
3.0.0-preview-04 19 05/28/2024
3.0.0-preview-03 18 05/28/2024
3.0.0-preview-02 20 05/28/2024
3.0.0-preview-01 19 05/28/2024
2.0.0 15 05/28/2024
2.0.0-preview-03 24 05/28/2024
2.0.0-preview-02 23 05/28/2024
2.0.0-preview-01 20 05/28/2024
1.10.1 14 05/28/2024
1.10.0 15 05/28/2024
1.9.0 27 05/22/2024
1.8.0 19 05/22/2024
1.7.2 16 05/28/2024
1.7.1 16 05/22/2024
1.7.0 17 05/28/2024
1.6.0 15 05/28/2024
1.5.0 15 12/01/2024
1.4.0 16 05/28/2024
1.3.0 15 05/28/2024
1.2.2 16 05/28/2024
1.2.1 15 05/28/2024
1.2.0 20 05/28/2024
1.1.1 16 05/22/2024
1.1.0 17 05/28/2024
1.0.1 20 05/28/2024
1.0.0 19 05/28/2024
1.0.0-preview-04 15 05/28/2024
1.0.0-preview-03 20 05/28/2024
1.0.0-preview-02 21 05/22/2024
1.0.0-preview-01 16 05/28/2024