FastExpressionCompiler 3.3.4
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.
|
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.
|
19 |
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.
|
21 |
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.
|
29 |
## v3.3.4 Bug-fix release
- fixed: #345 EmitCall is for the varargs method and should not be used for normal convention
- fixed: #347 InvalidProgramException on compiling an expression that returns a record which implements IList
- fixed: #349 Error when loading struct parameters closed by the nested lambda e.g. predicate in Linq
- fixed: #355 Error with converting to/from signed/unsigned integers (Thanks to @TYoungSL for the PR!)
- fixed: the C# output for if-else test condition, and inc/dec operations; and for label at the end of the lambda
- fixed: ref assignment C# output
- perf: Replace ILGenerator.Emit(OpCodes.Call, ..) with EmitMethodCall performance
## v3.3.3 Bug-fix release
- fixed: #336 Method TryCompileBoundToFirstClosureParam is returning passed Type array to pool may cause undefined behavior
- fixed: #337 Switch LightExpression.Expression.ToString from System.Expression.ToString pseudo-code to ToCSharpString
- fixed: #338 InvocationExpression is not properly converted to System Expression via ToExpression for non-lambda expression
- fixed: #341 Equality comparison between nullable and null inside Any produces incorrect compiled expression
## v3.3.2 Bug-fix release
- fixed: #335 FastExpressionCompiler.LightExpressions - MemberInit has recursive calls
## v3.3.1 Optimization and bug-fix release
- fixed: #333 AccessViolationException and other suspicious behaviour on invoking result of CompileFast()
- optim: LightExpression.Parameter consumes less memory for the common standard types.
## v3.3.0 Feature and bug-fix release
- added: #235 [GodMode] Expression to IL intrinsic
- added: #325 Add LightExpression.NewNoByRefArgs overloads for performance
- added: #327 Replace direct il.Emit(OpCodes.Call, ...) with EmitMethodCall
- added: #329 Optimize special case compilation for New and Call with no arguments
- added: #330 Optimize nested lambda ClosureInfo memory footprint
- fixed: #324 The LightExpression.New of IEnumerable is recursive
- fixed: #328 Fix the performance of TryEmitConvert to String
.NET Framework 4.5
- System.ValueTuple (>= 4.5.0)
.NET Standard 2.0
- System.Dynamic.Runtime (>= 4.3.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
.NET Standard 2.1
- No dependencies.
Version | Downloads | Last updated |
---|---|---|
5.3.0 | 4 | 06/13/2025 |
5.2.0 | 7 | 05/15/2025 |
5.2.0-preview-02 | 7 | 05/01/2025 |
5.2.0-preview-01 | 6 | 04/27/2025 |
5.1.1 | 11 | 04/04/2025 |
5.1.0 | 12 | 04/05/2025 |
5.0.3 | 11 | 04/05/2025 |
5.0.2 | 14 | 01/29/2025 |
5.0.1 | 15 | 12/29/2024 |
5.0.0 | 15 | 12/03/2024 |
4.2.2 | 22 | 11/14/2024 |
4.2.1 | 18 | 11/28/2024 |
4.2.0 | 25 | 05/28/2024 |
4.1.0 | 19 | 05/28/2024 |
4.0.2 | 15 | 05/28/2024 |
4.0.1 | 21 | 05/28/2024 |
4.0.0 | 19 | 05/28/2024 |
3.4.0-preview-01 | 20 | 05/28/2024 |
3.3.4 | 18 | 05/28/2024 |
3.3.3 | 27 | 03/13/2024 |
3.3.2 | 17 | 05/28/2024 |
3.3.1 | 23 | 05/28/2024 |
3.3.0 | 24 | 05/28/2024 |
3.2.2 | 25 | 05/28/2024 |
3.2.1 | 16 | 05/28/2024 |
3.2.0 | 16 | 05/28/2024 |
3.1.0 | 19 | 05/28/2024 |
3.1.0-preview-03 | 19 | 05/28/2024 |
3.1.0-preview-02 | 19 | 05/28/2024 |
3.1.0-preview-01 | 24 | 05/28/2024 |
3.0.6-preview-01 | 21 | 05/22/2024 |
3.0.5 | 18 | 05/28/2024 |
3.0.4 | 16 | 05/28/2024 |
3.0.3 | 17 | 05/28/2024 |
3.0.2 | 18 | 05/28/2024 |
3.0.1 | 20 | 05/22/2024 |
3.0.0 | 22 | 05/28/2024 |
3.0.0-preview-07 | 17 | 05/28/2024 |
3.0.0-preview-06 | 19 | 05/28/2024 |
3.0.0-preview-05 | 19 | 05/28/2024 |
3.0.0-preview-04 | 20 | 05/28/2024 |
3.0.0-preview-03 | 19 | 05/28/2024 |
3.0.0-preview-02 | 21 | 05/28/2024 |
3.0.0-preview-01 | 20 | 05/28/2024 |
2.0.0 | 17 | 05/28/2024 |
2.0.0-preview-03 | 25 | 05/28/2024 |
2.0.0-preview-02 | 25 | 05/28/2024 |
2.0.0-preview-01 | 21 | 05/28/2024 |
1.10.1 | 16 | 05/28/2024 |
1.10.0 | 16 | 05/28/2024 |
1.9.0 | 29 | 05/22/2024 |
1.8.0 | 20 | 05/22/2024 |
1.7.2 | 19 | 05/28/2024 |
1.7.1 | 18 | 05/22/2024 |
1.7.0 | 19 | 05/28/2024 |
1.6.0 | 18 | 05/28/2024 |
1.5.0 | 17 | 12/01/2024 |
1.4.0 | 18 | 05/28/2024 |
1.3.0 | 17 | 05/28/2024 |
1.2.2 | 17 | 05/28/2024 |
1.2.1 | 17 | 05/28/2024 |
1.2.0 | 21 | 05/28/2024 |
1.1.1 | 18 | 05/22/2024 |
1.1.0 | 20 | 05/28/2024 |
1.0.1 | 21 | 05/28/2024 |
1.0.0 | 21 | 05/28/2024 |
1.0.0-preview-04 | 16 | 05/28/2024 |
1.0.0-preview-03 | 21 | 05/28/2024 |
1.0.0-preview-02 | 22 | 05/22/2024 |
1.0.0-preview-01 | 19 | 05/28/2024 |