FastExpressionCompiler 3.1.0-preview-02
FastExpressionCompiler is 10-40x times faster than Expression.Compile()
Showing the top 20 packages that depend on FastExpressionCompiler.
| Packages | Downloads |
|---|---|
|
Masuit.Tools.Core
包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。
官网教程:https://ldqk.org/55
github:https://github.com/ldqk/Masuit.Tools
|
3 |
|
Masuit.Tools.Core
包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。
官网教程:https://ldqk.org/55
github:https://github.com/ldqk/Masuit.Tools
|
2 |
|
Masuit.Tools.Abstractions
Masuit.Tools基础公共库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。
|
2 |
v3.1.0 Bug-fix release
- added: #297 Add custom Constant to string output in the ToCSharpString and ToExpressionString
- added: #303 Add CompilerFlags.ThrowOnNotSupportedException and throw NotSupportedExpressionException when the flag is passed to CompileFast
- fixed: #301 Another case of the InvalidOperationException in the Mapster
- fixed: ListInit compilation for the Dictionary
- fixed: the lookup for the non-public property setter
v3.0.5 Bug-fix release
- fixed: another case in #301 InvalidOperationException in the Mapster
- fixed: multiple problems with the TryCatch C# and Expression string output
v3.0.4 Bug-fix release
- fixed: #302 Error compiling expression with array access
v3.0.3 Bug-fix release
- fixed: #301 InvalidOperationException in the Mapster
- fixed: small bugs in the Lambda ToCSharpString output
v3.0.2 Bug-fix release
- fixed: #300 Bad label content in ILGenerator in the Mapster benchmark with FEC V3
- fixed: Small issues with the
ToCSharpString(), specifically in the TryCatch, and the Goto, and the Label expressions
v3.0.1 Bug-fix release
fixed: #298 LightExpression with the NewExpression of 4 arguments has ArgumentCount = 3
v3.0.0 - Major feature release
This version contains a lot of fixes and improvements and as-little-as-possible breaking changes.
FastExpressionCompiler and FastExpressionCompiler.LightExpression
- Performance and memory consumption are improved, especially for the expressions with the closure and for expressions with the nested lambdas.
- More expression types are supported.
- Many fixes in the IL Emit.
- Added
ToCSharpString()extension method to output the compile-able C# code described by the expression (tries hard). - Added
ToExpressionString()extension method to output the valid expression construction syntax, so given an expression object you'll get e.g.Lambda(New(...)). - Added optional
enum CompilerFlags { Default, NoInvocationLambdaInlining, EnableDelegateDebugInfo}parameter for the compilation EnableDelegateDebugInfoadds the diagnostic info into the compiled delegate including its source Expression and C# code. Can be used as following:
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 the
FastExpressionCompiler.LightExpression.Expressionand theSystem.Linq.Expression. - Decreasing the memory consumed by the created expressions partially via implementing the
IArgumentProviderandIParameterProviderfor some expressions.
The full list of the closed issues
.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 | 1 | 01/10/2026 |
| 5.2.0 | 1 | 01/10/2026 |
| 5.2.0-preview-02 | 1 | 01/10/2026 |
| 5.2.0-preview-01 | 1 | 01/10/2026 |
| 5.1.1 | 1 | 01/10/2026 |
| 5.1.0 | 1 | 01/10/2026 |
| 5.0.3 | 1 | 01/10/2026 |
| 5.0.2 | 1 | 01/10/2026 |
| 5.0.1 | 1 | 01/10/2026 |
| 5.0.0 | 1 | 01/10/2026 |
| 4.2.2 | 1 | 01/10/2026 |
| 4.2.1 | 1 | 01/10/2026 |
| 4.2.0 | 1 | 01/10/2026 |
| 4.1.0 | 1 | 01/10/2026 |
| 4.0.2 | 1 | 01/10/2026 |
| 4.0.1 | 1 | 01/10/2026 |
| 4.0.0 | 1 | 01/10/2026 |
| 3.4.0-preview-01 | 1 | 01/10/2026 |
| 3.3.4 | 1 | 01/10/2026 |
| 3.3.3 | 1 | 01/10/2026 |
| 3.3.2 | 1 | 01/10/2026 |
| 3.3.1 | 1 | 01/10/2026 |
| 3.3.0 | 1 | 01/10/2026 |
| 3.2.2 | 1 | 01/10/2026 |
| 3.2.1 | 1 | 01/10/2026 |
| 3.2.0 | 1 | 01/10/2026 |
| 3.1.0 | 1 | 01/10/2026 |
| 3.1.0-preview-03 | 1 | 01/10/2026 |
| 3.1.0-preview-02 | 1 | 01/10/2026 |
| 3.1.0-preview-01 | 1 | 01/10/2026 |
| 3.0.6-preview-01 | 1 | 01/10/2026 |
| 3.0.5 | 1 | 01/10/2026 |
| 3.0.4 | 1 | 01/10/2026 |
| 3.0.3 | 1 | 01/10/2026 |
| 3.0.2 | 1 | 01/10/2026 |
| 3.0.1 | 1 | 01/10/2026 |
| 3.0.0 | 1 | 01/10/2026 |
| 3.0.0-preview-07 | 1 | 01/10/2026 |
| 3.0.0-preview-06 | 1 | 01/10/2026 |
| 3.0.0-preview-05 | 1 | 01/10/2026 |
| 3.0.0-preview-04 | 1 | 01/10/2026 |
| 3.0.0-preview-03 | 1 | 01/10/2026 |
| 3.0.0-preview-02 | 1 | 01/10/2026 |
| 3.0.0-preview-01 | 1 | 01/10/2026 |
| 2.0.0 | 1 | 01/10/2026 |
| 2.0.0-preview-03 | 1 | 01/10/2026 |
| 2.0.0-preview-02 | 1 | 01/10/2026 |
| 2.0.0-preview-01 | 1 | 01/10/2026 |
| 1.10.1 | 1 | 01/10/2026 |
| 1.10.0 | 1 | 01/10/2026 |
| 1.9.0 | 1 | 01/10/2026 |
| 1.8.0 | 1 | 01/10/2026 |
| 1.7.2 | 1 | 01/10/2026 |
| 1.7.1 | 1 | 01/10/2026 |
| 1.7.0 | 1 | 01/10/2026 |
| 1.6.0 | 1 | 01/10/2026 |
| 1.5.0 | 1 | 01/10/2026 |
| 1.4.0 | 1 | 01/10/2026 |
| 1.3.0 | 1 | 01/10/2026 |
| 1.2.2 | 1 | 01/10/2026 |
| 1.2.1 | 1 | 01/10/2026 |
| 1.2.0 | 1 | 01/10/2026 |
| 1.1.1 | 1 | 01/10/2026 |
| 1.1.0 | 1 | 01/10/2026 |
| 1.0.1 | 1 | 01/10/2026 |
| 1.0.0 | 1 | 01/10/2026 |
| 1.0.0-preview-04 | 1 | 01/10/2026 |
| 1.0.0-preview-03 | 1 | 01/10/2026 |
| 1.0.0-preview-02 | 1 | 01/10/2026 |
| 1.0.0-preview-01 | 1 | 01/10/2026 |