Skip to content

Reduce time for serverless cold-start of .Net/C# code #1060

Description

@James2397

Reduce time for serverless cold-start of .Net/C# code

At the moment .Net Core is one of the slowest loading languages you can use for serverless development in Azure Functions of Aws Lambda. Each time you start a new function written in .Net Core there is significant "cold-start" time which means users experience an extended time waiting compared to using other languages. With serverless becoming a core architectural approach for many companies it would make sense to look into this problem now. If the "cold start" of .net core programs could be reduced to low milliseconds it would significantly increase the appeal of the language for serverless development.

The second part of this problem is the artifact that is generated from a dotnet core publish is large compared to other languages which also attributes to slow "cold-start" times. It would be good if the IL Linker could be brought into the normal publishing process to reduce dll sizes (https://github.com/dotnet/core/blob/master/samples/linker-instructions.md). If namespaces or classes are not being used they should be removed from the published dlls. Or combine dlls into a single binary that only contains used classes/methods/properties. Regardless, just make it super small and fast to work the best out of all languages with serverless.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions