FastExpressionCompiler.LightExpression
2.0.0
FastExpressionCompiler for LightExpression is 10-40x times faster than Expression.Compile()
See the version list below for details.
Install-Package FastExpressionCompiler.LightExpression -Version 2.0.0
dotnet add package FastExpressionCompiler.LightExpression --version 2.0.0
<PackageReference Include="FastExpressionCompiler.LightExpression" Version="2.0.0" />
paket add FastExpressionCompiler.LightExpression --version 2.0.0
#r "nuget: FastExpressionCompiler.LightExpression, 2.0.0"
Release Notes
v2.0.0
Stable release with the `ExpressionInfo` moved to a separate package and renamed
to `FastExpressionCompiler.LightExpression.Expression` to simplify drop-in replacement for `Expression`
The version is v2 instead of v1 to match the FEC version, as they are "basically" the same.
The release includes all the goodies from FEC v2.0:
- added: #57 Consider signed package version!
- added: #59 Support compiling delegates with ref and out parameters
- added: #78 Lambda<Func<int>>(Block(Label(Label(typeof(int)), Constant(7)))) is not supported
- added: #88 Lambda<Func<IntPtr>>(Block(Constant(IntPtr.Zero)))
- added: #91 Support for MultiplyAssign, AddAsiggn, DivideAssign
- added: #98 % and bit operators are not supported
- added: #101 Some Assign Modes are not yet supported
- added: #102 Label and Goto Expression not yet implemented
- added: #105 Bit Expression Types are not yet supported
- added: #106 ExpressionType.Power not supported
- added: #107 Check if xxxAssigns also work with Variables
- added: #118 Support for Expression.Variable (in a Expression.Block)
- added: #127 Switch is not supported
- added: #130 Net Framework Expression compiler generates perfromanter Code for isNull check
- added: #138 Optimize Compilation of nested Lambdas
- fixed: #83 Issues with linq2db tests
- fixed: #92 Expression not compilable
- fixed: #93 Comparison to "null" does not work when not Typed
- fixed: #95 Ref support not yet working completely
- fixed: #124 LightExpression wrong Type
- fixed: #131 Linq2db - Test for JIT compiler internal limitation
- fixed: #137 Problem with Reading & Writing of Struct Fields.
- fixed: #146 Boolean parameter value changed from false to true
- fixed: #147 'Common Language Runtime detected an invalid program' with int.TryParse
- fixed: #151 'Attempt to read protected memory'
- fixed: #152 int.MinValue access throws 'Method not supported'
- fixed: #154 Equals Expression does not call "Equals" of class (in MS Code)
- fixed: #156 Invoking an Action constant fails with 'Common Language Runtime detected an invalid program'
- fixed: #159 Condition with converted numeric comparisons gives unexpected result
- fixed: #162 Float - short numeric comparisons with conversions gives unexpected result
- fixed: #163 Add of Nullable Int, etc does not work correctly
- fixed: #165 Int and Decimal to Double conversion issues
- fixed: #170 Problems with ref parameters
- fixed: #172 Using FEC to compile a property setter with an enum value sets the property to random values
Dependencies
-
.NETFramework 4.5
- No dependencies.
-
.NETStandard 1.3
- NETStandard.Library (>= 1.6.1)
- System.Reflection.Emit.Lightweight (>= 4.3.0)
-
.NETStandard 2.0
- System.Reflection.Emit.Lightweight (>= 4.3.0)
Used By
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version History
Version | Downloads | Last updated |
---|---|---|
3.0.0-preview-07 | 140 | 12/25/2020 |
3.0.0-preview-06 | 77 | 12/1/2020 |
3.0.0-preview-05 | 554 | 11/27/2020 |
3.0.0-preview-04 | 124 | 11/3/2020 |
3.0.0-preview-03 | 94 | 11/2/2020 |
3.0.0-preview-02 | 359 | 10/23/2020 |
3.0.0-preview-01 | 104 | 10/23/2020 |
2.0.0 | 3,927 | 1/25/2019 |
2.0.0-preview-03 | 358 | 11/9/2018 |
2.0.0-preview-02 | 339 | 10/25/2018 |
2.0.0-preview-01 | 359 | 10/24/2018 |