FastExpressionCompiler 3.3.4
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.
|
14 |
|
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.
|
13 |
## 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 | 9 | 07/07/2025 |
| 5.2.0 | 10 | 05/31/2025 |
| 5.2.0-preview-02 | 11 | 05/08/2025 |
| 5.2.0-preview-01 | 11 | 05/09/2025 |
| 5.1.1 | 12 | 04/06/2025 |
| 5.1.0 | 12 | 04/07/2025 |
| 5.0.3 | 12 | 04/07/2025 |
| 5.0.2 | 14 | 03/08/2025 |
| 5.0.1 | 15 | 03/03/2025 |
| 5.0.0 | 14 | 03/03/2025 |
| 4.2.2 | 13 | 03/03/2025 |
| 4.2.1 | 14 | 03/03/2025 |
| 4.2.0 | 14 | 03/03/2025 |
| 4.1.0 | 14 | 03/03/2025 |
| 4.0.2 | 15 | 03/03/2025 |
| 4.0.1 | 14 | 03/03/2025 |
| 4.0.0 | 15 | 03/03/2025 |
| 3.4.0-preview-01 | 14 | 03/03/2025 |
| 3.3.4 | 14 | 03/03/2025 |
| 3.3.3 | 14 | 03/03/2025 |
| 3.3.2 | 14 | 03/03/2025 |
| 3.3.1 | 14 | 03/03/2025 |
| 3.3.0 | 14 | 03/03/2025 |
| 3.2.2 | 13 | 03/03/2025 |
| 3.2.1 | 14 | 03/03/2025 |
| 3.2.0 | 14 | 03/03/2025 |
| 3.1.0 | 15 | 03/03/2025 |
| 3.1.0-preview-03 | 14 | 03/03/2025 |
| 3.1.0-preview-02 | 15 | 03/03/2025 |
| 3.1.0-preview-01 | 14 | 03/03/2025 |
| 3.0.6-preview-01 | 15 | 03/03/2025 |
| 3.0.5 | 13 | 03/03/2025 |
| 3.0.4 | 15 | 03/03/2025 |
| 3.0.3 | 16 | 03/03/2025 |
| 3.0.2 | 15 | 03/03/2025 |
| 3.0.1 | 15 | 03/03/2025 |
| 3.0.0 | 14 | 03/03/2025 |
| 3.0.0-preview-07 | 14 | 03/03/2025 |
| 3.0.0-preview-06 | 15 | 03/03/2025 |
| 3.0.0-preview-05 | 15 | 03/03/2025 |
| 3.0.0-preview-04 | 15 | 03/03/2025 |
| 3.0.0-preview-03 | 15 | 03/03/2025 |
| 3.0.0-preview-02 | 15 | 03/03/2025 |
| 3.0.0-preview-01 | 15 | 03/03/2025 |
| 2.0.0 | 15 | 03/03/2025 |
| 2.0.0-preview-03 | 15 | 03/03/2025 |
| 2.0.0-preview-02 | 15 | 03/03/2025 |
| 2.0.0-preview-01 | 15 | 03/03/2025 |
| 1.10.1 | 15 | 03/03/2025 |
| 1.10.0 | 15 | 03/03/2025 |
| 1.9.0 | 15 | 03/03/2025 |
| 1.8.0 | 15 | 03/03/2025 |
| 1.7.2 | 14 | 03/03/2025 |
| 1.7.1 | 13 | 03/03/2025 |
| 1.7.0 | 14 | 03/03/2025 |
| 1.6.0 | 16 | 03/03/2025 |
| 1.5.0 | 15 | 03/03/2025 |
| 1.4.0 | 15 | 03/03/2025 |
| 1.3.0 | 16 | 03/03/2025 |
| 1.2.2 | 13 | 03/03/2025 |
| 1.2.1 | 15 | 03/03/2025 |
| 1.2.0 | 15 | 03/03/2025 |
| 1.1.1 | 14 | 03/03/2025 |
| 1.1.0 | 15 | 03/03/2025 |
| 1.0.1 | 15 | 03/03/2025 |
| 1.0.0 | 14 | 03/03/2025 |
| 1.0.0-preview-04 | 14 | 03/03/2025 |
| 1.0.0-preview-03 | 14 | 03/03/2025 |
| 1.0.0-preview-02 | 14 | 03/03/2025 |
| 1.0.0-preview-01 | 14 | 03/03/2025 |