Azure / Azure/azure-functions-host

Investigate AOT as alternative for .NET Isolated placeholders

Open
#8,619 1 comment 2 reactions 0 assignees View on GitHub
Needs: Triage (Functions) perf: cold-start
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 12h
Merged PRs (30d)
38

Description

Investigate whether AOT improves cold start enough that we can use it instead of placeholders. Investigation with results should be complete by Sept 11th.

[Related item](https://github.com/Azure/azure-functions-dotnet-worker/issues/963)

Pragna, Hamid, Fabio, Cary notes:
- Brett, Shyju, and Fabio collaborate. Putting together doc of options and trying to keep with how rest of .NET works. If AOT with training gets close to parity with in-proc, that's most likely path forward for placeholders. Should see substantial improvements for .NET 8. Otherwise, do placeholder process like discussed before and have context to load CLR's and jit code paths to load customer code dynamically. Bit more fragile potentially as different from other contexts for CLR.
- [Hamid] Very hesitant AOT will help bring 1.4s to <600ms since we know not all of it is coming from jitting. >55% is from assembly node disk.
- Optimizing worker as much as possible by making everything as static as possible by code generated at compile time
- AOT about measuring process. Shouldn't take long. Can we timebox AOT to few days before Cold Start sync with Bilal, so we can communicate out plans? Time box to Sept 11.

Contributor guide

Open the contributing guide

Research direction

Review related issue #963 and the notes on AOT, placeholders, and .NET isolated cold start. Time-box an AOT measurement, comparing the reported 1.4-second startup with the under-600ms target and considering that more than 55% may come from assembly-node disk access. Done means documented results and a communicated direction by September 11.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.