Skip to content

Investigate AOT Support #3743

@iancooper

Description

@iancooper

Is your feature request related to a problem? Please describe.

We don't currently support AOT with Brighter. As ever, there are trade-offs. AOT gives simple deployment and fast start-up at the cost of slower execution speed (JIT will be faster in the long run). It may be more useful in some scenarios than others. It potentially also adds to code complexity, we rely on lot on late-binding. Using code generation instead creates code that is harder to maintain than reflection-based code. For example whilst AOT helps with cold start for AWS Lambda we are rarely deployed within Lambda.

So we need to understand the value of AOT in scenarios we are deployed into, not just be "on trend".

This reminds me a bit of the "modern dotnet code is async fallacy", async trades execution speed for throughput, hence we support both.

Describe the solution you'd like
We need to start with a clear analysis of what we would need to change. We can then look at what we need to do to fix AOT issues and decide on the trade-offs. We also need to understand why folks want AOT.

Describe alternatives you've considered
The main alternative is to ignore AOT as irrelevant to our scenarios

Additional context

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions