FastExpressionCompiler 3.3.4
dotnet add package FastExpressionCompiler --version 3.3.4
NuGet\Install-Package FastExpressionCompiler -Version 3.3.4
<PackageReference Include="FastExpressionCompiler" Version="3.3.4" />
paket add FastExpressionCompiler --version 3.3.4
#r "nuget: FastExpressionCompiler, 3.3.4"
// Install FastExpressionCompiler as a Cake Addin
#addin nuget:?package=FastExpressionCompiler&version=3.3.4
// Install FastExpressionCompiler as a Cake Tool
#tool nuget:?package=FastExpressionCompiler&version=3.3.4
FastExpressionCompiler is 10-40x times faster than Expression.Compile()
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETFramework 4.5
- System.ValueTuple (>= 4.5.0)
-
.NETStandard 2.0
- System.Dynamic.Runtime (>= 4.3.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
-
.NETStandard 2.1
- No dependencies.
NuGet packages (43)
Showing the top 5 NuGet packages that depend on FastExpressionCompiler:
Package | 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. |
|
Miruken
Miruken handles your application |
|
DotVVM
DotVVM is an open source ASP.NET-based framework which allows to build interactive web apps easily by using mostly C# and HTML. |
|
Masuit.Tools.Core
包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。 官网教程:https://ldqk.org/55 github:https://github.com/ldqk/Masuit.Tools |
|
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. |
GitHub repositories (12)
Showing the top 5 popular GitHub repositories that depend on FastExpressionCompiler:
Repository | Stars |
---|---|
ldqk/Masuit.Tools
包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出等常用封装。诸多功能集一身,代码量不到2MB!
|
|
MapsterMapper/Mapster
A fast, fun and stimulating object to object Mapper
|
|
microsoft/RulesEngine
A Json based Rules Engine with extensive Dynamic expression support
|
|
ldqk0/Masuit.Tools
该仓库为 https://github.com/ldqk/Masuit.Tools 的镜像仓库,代码更新存在较大的延迟。建议前往源仓库:https://github.com/ldqk/Masuit.Tools
|
|
riganti/dotvvm
Open source MVVM framework for Web Apps
|
Version | Downloads | Last updated |
---|---|---|
3.3.4 | 33,694 | 1/17/2023 |
3.3.3 | 438,595 | 7/24/2022 |
3.3.2 | 41,091 | 5/27/2022 |
3.3.1 | 12,121 | 5/25/2022 |
3.3.0 | 16,067 | 4/26/2022 |
3.2.2 | 241,836 | 2/2/2022 |
3.2.1 | 649,849 | 7/21/2021 |
3.2.0 | 213,626 | 6/14/2021 |
3.1.0 | 103,844 | 5/3/2021 |
3.1.0-preview-03 | 179 | 5/3/2021 |
3.1.0-preview-02 | 188 | 5/3/2021 |
3.1.0-preview-01 | 182 | 5/2/2021 |
3.0.6-preview-01 | 200 | 4/23/2021 |
3.0.5 | 3,367 | 4/21/2021 |
3.0.4 | 6,381 | 4/6/2021 |
3.0.3 | 1,340 | 4/1/2021 |
3.0.2 | 5,745 | 3/30/2021 |
3.0.1 | 419 | 3/27/2021 |
3.0.0 | 1,322 | 3/17/2021 |
3.0.0-preview-07 | 7,424 | 12/25/2020 |
3.0.0-preview-06 | 443 | 12/1/2020 |
3.0.0-preview-05 | 1,041 | 11/27/2020 |
3.0.0-preview-04 | 427 | 11/3/2020 |
3.0.0-preview-03 | 260 | 11/2/2020 |
3.0.0-preview-02 | 2,941 | 10/23/2020 |
3.0.0-preview-01 | 272 | 10/23/2020 |
2.0.0 | 549,619 | 1/25/2019 |
2.0.0-preview-03 | 1,257 | 11/9/2018 |
2.0.0-preview-02 | 940 | 10/25/2018 |
2.0.0-preview-01 | 682 | 10/24/2018 |
1.10.1 | 67,741 | 8/8/2018 |
1.10.0 | 917 | 8/3/2018 |
1.9.0 | 1,460 | 7/24/2018 |
1.8.0 | 29,686 | 6/24/2018 |
1.7.2 | 5,352 | 6/7/2018 |
1.7.1 | 64,277 | 3/27/2018 |
1.7.0 | 6,880 | 3/17/2018 |
1.6.0 | 35,783 | 12/3/2017 |
1.5.0 | 3,030 | 11/12/2017 |
1.4.0 | 12,805 | 9/9/2017 |
1.3.0 | 1,467 | 8/28/2017 |
1.2.2 | 1,578 | 8/8/2017 |
1.2.1 | 1,166 | 8/8/2017 |
1.2.0 | 1,142 | 8/8/2017 |
1.1.1 | 154,140 | 7/18/2017 |
1.1.0 | 1,047 | 7/13/2017 |
1.0.1 | 1,853 | 5/26/2017 |
1.0.0 | 2,424 | 4/2/2017 |
1.0.0-preview-04 | 967 | 3/31/2017 |
1.0.0-preview-03 | 1,480 | 3/30/2017 |
1.0.0-preview-02 | 949 | 3/29/2017 |
1.0.0-preview-01 | 1,048 | 3/23/2017 |
## 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