FastExpressionCompiler.src 5.3.1

FastExpressionCompiler is 10-40x times faster than Expression.Compile()

No packages depend on FastExpressionCompiler.src.

v5.3.1 Bug-fix release (src packages only)

  • fixed: #481 The 5.3.0 source package is broken and doesn't include all required source files

v5.3.0 Feature release

  • feat: [performance] Reuse the ILGenerator used by the nested lambda compilation
  • feat: [performance] Reuse DynamicMethod if possible
  • feat: Add debug diagnostics to the nested lambdas
  • fix: System.ExecutionEngineException with nullables on repeated calls to ConcurrentDictionary

Full Changelog: https://github.com/dadhi/FastExpressionCompiler/compare/v5.2.0...v5.3.0

v5.2.0 Feature release

  • feat: #466 Simplify creation of the updateable value that can be put into Closure with the Expression.ConstantRef
  • feat: #472 Interpreter to reduce the IL emitted by the Logical, Comparison, Arithmetics expressions, by calculating them during compile time and using the calculation result in IL
  • feat: Expose TestTools and FastExpressionCompiler.ILDecoder to enable testing and diagnostic in the consumer code

v5.1.1. Bug-fix release

  • fix: #461 InvalidProgramException when null checking type by ref
  • fix: #462 Optimize Equality comparison with null

Full Changelog: https://github.com/dadhi/FastExpressionCompiler/compare/v5.1.0...v5.1.1

v5.1.0 Small feature release

  • add: #458 Add Support for TryFault
  • fix: #460 ArgumentException when converting from object to type with explicit operator

Full Changelog: https://github.com/dadhi/FastExpressionCompiler/compare/v5.0.3...v5.1.0

v5.0.3 Bug-fix release

  • fix: #451 Operator implicit/explicit produces InvalidProgram
  • fix: #455 TypeAs should return null when it cannot cast to a nullable #455

Full Changelog: https://github.com/dadhi/FastExpressionCompiler/compare/v5.0.2...v5.0.3

v5.0.2 Bug-fix release

-fix: #449 MemberInit produces InvalidProgram

Full Changelog: https://github.com/dadhi/FastExpressionCompiler/compare/v5.0.1...v5.0.2

v5.0.1 Bug-fix release

  • fix: #437 Shared variables with nested lambdas returning incorrect values
  • fix: #439 Support unused Field access in Block
  • fix: #440 Errors with simplified Switch cases
  • fix: #441 Fails to pass Constant as call parameter by-reference
  • fix: #442 TryCatch and the Goto outside problems
  • fix: #443 Nested Calls with Lambda Parameters Throwing NotSupportedExpressionException

v5.0.0 Major feature release

  • feat: #271 Add conversion from the System Expression to the Light Expression to allow hoisted system expression embedding in the larger light expression

  • feat: #432 Add explicit target for .NET 9

  • feat: #434 ToCSharpString should generate stable names for the unnamed variables, parameters and labels

  • fix: #262 Optimize OpCode.Ceq plus Branch into a single compare-and-branch

  • fix: #424 TryCatch expression as argument in Call expression produces invalid program

  • fix: #426 Directly passing a method result to another method by ref, fails with InvalidProgramException

  • fix: #427 CSharp output with more consistency, robustness and more understandable code

  • fix: #428 Expression.Switch without a default case incorrectly calls first case for unmatched values

  • fix: #430 TryCatch - Bad label content in ILGenerator

.NET 8.0

  • No dependencies.

.NET Framework 4.7.2

.NET Standard 2.0

Version Downloads Last updated
5.3.3 0 10/31/2025
5.3.2 0 10/22/2025
5.3.1 1 11/02/2025
5.3.0 0 06/10/2025
5.2.0 0 11/01/2025
5.1.1 0 04/02/2025
5.1.0 1 11/02/2025
5.0.3 0 03/26/2025
5.0.2 0 01/29/2025
5.0.1 0 12/22/2024
5.0.0 0 11/22/2024
4.2.2 0 10/13/2024
4.2.1 0 07/02/2024
4.2.0 0 04/29/2024
4.1.0 0 01/20/2024
4.0.2 1 11/02/2025
4.0.1 0 11/23/2023
4.0.0 0 11/12/2023
3.3.4 1 11/01/2025
3.3.3 0 07/24/2022
3.3.2 0 05/27/2022
3.3.1 0 05/25/2022
3.3.0 0 04/26/2022
3.2.2 0 02/02/2022
3.2.1 1 11/02/2025
3.2.0 0 06/14/2021
3.1.0 0 05/03/2021
3.0.5 0 04/21/2021
3.0.4 0 04/06/2021
3.0.3 0 04/01/2021
3.0.2 0 03/30/2021
3.0.1 0 03/27/2021
3.0.0 0 03/17/2021