FastExpressionCompiler 3.0.0-preview-07
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.
|
26 |
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.
|
27 |
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.
|
28 |
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.
|
29 |
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.
|
30 |
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.
|
32 |
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.
|
33 |
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.
|
34 |
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.
|
35 |
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.
|
39 |
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.
|
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.
|
204 |
## 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
- System.ValueTuple (>= 4.5.0)
.NET Standard 2.0
- System.Dynamic.Runtime (>= 4.3.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
Version | Downloads | Last updated |
---|---|---|
5.0.1 | 1 | 12/25/2024 |
5.0.0 | 4 | 11/28/2024 |
4.2.2 | 7 | 10/19/2024 |
4.2.1 | 35 | 07/23/2024 |
4.2.0 | 33 | 07/23/2024 |
4.1.0 | 39 | 07/23/2024 |
4.0.2 | 39 | 07/23/2024 |
4.0.1 | 85 | 02/05/2024 |
4.0.0 | 24 | 07/23/2024 |
3.4.0-preview-01 | 25 | 07/23/2024 |
3.3.4 | 39 | 07/23/2024 |
3.3.3 | 79 | 02/04/2024 |
3.3.2 | 29 | 07/23/2024 |
3.3.1 | 31 | 07/23/2024 |
3.3.0 | 33 | 07/23/2024 |
3.2.2 | 34 | 07/23/2024 |
3.2.1 | 32 | 05/29/2024 |
3.2.0 | 29 | 07/23/2024 |
3.1.0 | 32 | 07/23/2024 |
3.1.0-preview-03 | 31 | 07/23/2024 |
3.1.0-preview-02 | 36 | 07/23/2024 |
3.1.0-preview-01 | 28 | 07/23/2024 |
3.0.6-preview-01 | 28 | 07/23/2024 |
3.0.5 | 29 | 07/23/2024 |
3.0.4 | 33 | 07/23/2024 |
3.0.3 | 32 | 07/23/2024 |
3.0.2 | 36 | 07/23/2024 |
3.0.1 | 32 | 07/23/2024 |
3.0.0 | 32 | 07/23/2024 |
3.0.0-preview-07 | 26 | 07/20/2024 |
3.0.0-preview-06 | 29 | 07/23/2024 |
3.0.0-preview-05 | 30 | 07/23/2024 |
3.0.0-preview-04 | 29 | 07/23/2024 |
3.0.0-preview-03 | 30 | 07/23/2024 |
3.0.0-preview-02 | 33 | 07/23/2024 |
3.0.0-preview-01 | 30 | 07/23/2024 |
2.0.0 | 32 | 07/23/2024 |
2.0.0-preview-03 | 22 | 07/23/2024 |
2.0.0-preview-02 | 28 | 07/23/2024 |
2.0.0-preview-01 | 30 | 07/21/2024 |
1.10.1 | 26 | 07/23/2024 |
1.10.0 | 26 | 07/23/2024 |
1.9.0 | 34 | 07/23/2024 |
1.8.0 | 31 | 07/23/2024 |
1.7.2 | 35 | 07/23/2024 |
1.7.1 | 34 | 07/23/2024 |
1.7.0 | 23 | 07/23/2024 |
1.6.0 | 33 | 07/23/2024 |
1.5.0 | 29 | 07/23/2024 |
1.4.0 | 33 | 07/23/2024 |
1.3.0 | 24 | 07/23/2024 |
1.2.2 | 33 | 07/23/2024 |
1.2.1 | 35 | 07/23/2024 |
1.2.0 | 32 | 07/23/2024 |
1.1.1 | 26 | 07/23/2024 |
1.1.0 | 31 | 07/23/2024 |
1.0.1 | 29 | 07/23/2024 |
1.0.0 | 30 | 07/23/2024 |
1.0.0-preview-04 | 31 | 07/23/2024 |
1.0.0-preview-03 | 31 | 07/23/2024 |
1.0.0-preview-02 | 31 | 07/23/2024 |
1.0.0-preview-01 | 31 | 07/23/2024 |