FastExpressionCompiler 3.3.4
FastExpressionCompiler is 10-40x times faster than Expression.Compile()
Showing the top 20 packages that depend on FastExpressionCompiler.
Packages | Downloads |
---|---|
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
25 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
26 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
27 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
28 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
29 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
30 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
31 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
33 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
34 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
36 |
JasperFx.CodeGeneration
Code Generation Chicanery for .Net
|
38 |
## 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 | 8 | 06/10/2025 |
5.2.0 | 9 | 05/15/2025 |
5.2.0-preview-02 | 12 | 04/28/2025 |
5.2.0-preview-01 | 12 | 04/27/2025 |
5.1.1 | 11 | 04/10/2025 |
5.1.0 | 11 | 04/10/2025 |
5.0.3 | 11 | 04/10/2025 |
5.0.2 | 17 | 02/07/2025 |
5.0.1 | 14 | 12/27/2024 |
5.0.0 | 13 | 12/10/2024 |
4.2.2 | 17 | 10/16/2024 |
4.2.1 | 13 | 07/04/2024 |
4.2.0 | 34 | 05/20/2024 |
4.1.0 | 24 | 02/14/2024 |
4.0.2 | 17 | 02/11/2024 |
4.0.1 | 35 | 02/11/2024 |
4.0.0 | 17 | 02/11/2024 |
3.4.0-preview-01 | 42 | 02/04/2024 |
3.3.4 | 47 | 02/11/2024 |
3.3.3 | 27 | 02/11/2024 |
3.3.2 | 48 | 02/11/2024 |
3.3.1 | 25 | 02/11/2024 |
3.3.0 | 32 | 02/11/2024 |
3.2.2 | 29 | 02/11/2024 |
3.2.1 | 45 | 02/11/2024 |
3.2.0 | 46 | 02/11/2024 |
3.1.0 | 47 | 02/11/2024 |
3.1.0-preview-03 | 28 | 02/04/2024 |
3.1.0-preview-02 | 45 | 02/04/2024 |
3.1.0-preview-01 | 26 | 02/04/2024 |
3.0.6-preview-01 | 48 | 02/11/2024 |
3.0.5 | 34 | 02/11/2024 |
3.0.4 | 44 | 02/11/2024 |
3.0.3 | 48 | 02/11/2024 |
3.0.2 | 28 | 02/11/2024 |
3.0.1 | 44 | 02/11/2024 |
3.0.0 | 39 | 02/11/2024 |
3.0.0-preview-07 | 33 | 02/11/2024 |
3.0.0-preview-06 | 35 | 02/11/2024 |
3.0.0-preview-05 | 30 | 02/11/2024 |
3.0.0-preview-04 | 36 | 02/11/2024 |
3.0.0-preview-03 | 28 | 02/11/2024 |
3.0.0-preview-02 | 35 | 02/11/2024 |
3.0.0-preview-01 | 31 | 02/11/2024 |
2.0.0 | 41 | 02/11/2024 |
2.0.0-preview-03 | 27 | 02/04/2024 |
2.0.0-preview-02 | 46 | 02/04/2024 |
2.0.0-preview-01 | 33 | 02/04/2024 |
1.10.1 | 42 | 02/11/2024 |
1.10.0 | 39 | 02/11/2024 |
1.9.0 | 44 | 02/11/2024 |
1.8.0 | 50 | 02/11/2024 |
1.7.2 | 41 | 02/11/2024 |
1.7.1 | 33 | 02/11/2024 |
1.7.0 | 41 | 02/11/2024 |
1.6.0 | 33 | 02/11/2024 |
1.5.0 | 28 | 02/11/2024 |
1.4.0 | 23 | 02/11/2024 |
1.3.0 | 31 | 02/11/2024 |
1.2.2 | 35 | 02/11/2024 |
1.2.1 | 24 | 02/11/2024 |
1.2.0 | 30 | 02/11/2024 |
1.1.1 | 40 | 02/11/2024 |
1.1.0 | 31 | 02/11/2024 |
1.0.1 | 34 | 02/11/2024 |
1.0.0 | 27 | 02/11/2024 |
1.0.0-preview-04 | 35 | 02/11/2024 |
1.0.0-preview-03 | 24 | 02/11/2024 |
1.0.0-preview-02 | 32 | 02/11/2024 |
1.0.0-preview-01 | 36 | 02/11/2024 |