Skip to content

AOT-supported Linq compilation #363

Open

Description

@WhiteBlackGoose
  1. Remove reflection (replace with table of methods injected in the lib)
  2. Set up interpretation preference (let's see if NativeAOT will switch linq compile into interpretation automatically, or we need to add the flag)

Activity

  1. added this to the Future milestone on May 13, 2021
  2. added
    AcceptedFor proposals, which were approved and will be implemented
    on Aug 11, 2026
  3. Rafael-SOWNet commented on Aug 16, 2026

    @Rafael-SOWNet
    Member

    Partial measurement, on master at a45a7256 — recording it because the issue has two halves and only one is testable from here.

    Linq compilation works:

    "x^2 + 1".ToEntity().Compile<double, double>("x")(3)        // 10
    "x*y + 1".ToEntity().Compile<double, double, double>("x","y")(2, 5)   // 11

    What I cannot test is the part the issue is actually about — whether it survives Native AOT, and whether the reflection in step 1 is gone. Both need an AOT publish to answer, and Sources/Tests/AotTest-style verification rather than a JIT run: compilation working under the JIT says nothing about whether System.Linq.Expressions falls back to the interpreter or fails outright once trimmed.

    So: the feature is present and correct under the JIT; steps 1 and 2 of the body are unverified. Someone able to publish AOT can settle it quickly — the two calls above are enough of a probe.

  4. Happypig375 commented on Sep 18, 2026

    @Happypig375
    Member

    With v3 targetting net10.0 we can officially test NativeAOT

  5. modified the milestones: Future, 3.1 on Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    AcceptedFor proposals, which were approved and will be implementedArea: C++The issue is related to the AngouriMath.CPP

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions