Ein .NET-Entwickler hat die Startzeit seiner SignalR-Anwendung auf 180 ms reduziert, indem er eine 25 MB große AOT-Binärdatei verwendet hat. Diese signifikante Verbesserung wurde durch den Austausch der vollständigen .NET-Laufzeitumgebung durch eine abgespeckte, SignalR-spezifische Binärdatei erreicht. Der Entwickler stellte fest, dass die Native AOT-Kompilierung von .NET 9 nicht mehr auf Konsolenanwendungen beschränkt ist. Zuvor hatten seine SignalR-basierten Azure Functions langsame Startzeiten von 2,3 Sekunden, einen hohen Speicherverbrauch von 150 MB und große Container-Image-Größen von 180 MB. Dies wurde auf die falsche Annahme zurückgeführt, dass SignalR die gesamte .NET-Laufzeitumgebung benötigt, was zu aufgeblähten Containern führte. Die langsame Leistung führte zu Kundenbeschwerden. Durch die Implementierung von Trimming, Native AOT und minimalem API-Hosting erstellte er eine einzelne, in sich geschlossene 25-MB-Binärdatei. Dieser optimierte Ansatz senkte auch den Speicherverbrauch auf 45 MB. Infolgedessen verbesserten sich die Kaltstarts seiner Azure Functions dramatisch und die Image-Größen wurden um 85 % reduziert. Der Entwickler hebt Native AOT als eine transformative Technologie für .NET-Echtzeitanwendungen hervor.
dev.to
𝗦𝗶𝗴𝗻𝗮𝗹𝗥 𝘀𝘂𝗽𝗽𝗼𝗿𝘁𝘀 𝘁𝗿𝗶𝗺𝗺𝗶𝗻𝗴 𝗮𝗻𝗱 𝗡𝗮𝘁𝗶𝘃𝗲 𝗔𝗢𝗧
Create attached notes ...
