Сообщество RSS DEV

SignalR поддерживает обрезку и нативный AOT

Разработчик .NET успешно сократил время запуска приложения SignalR до 180 мс, используя бинарный файл AOT размером 25 МБ. Это значительное улучшение было достигнуто заменой полного runtime .NET на урезанный бинарный файл, специально предназначенный для SignalR. Разработчик обнаружил, что компиляция Native AOT в .NET 9 больше не ограничена консольными приложениями. Ранее его функции Azure, основанные на SignalR, испытывали медленные запуски в 2,3 секунды, высокое потребление памяти в 150 МБ и большие размеры образов контейнеров в 180 МБ. Это было связано с ошибочным предположением, что SignalR требует полного runtime .NET, что приводило к разбухшим контейнерам. Медленное выполнение привело к жалобам клиентов. Реализовав обрезку, Native AOT и минимальное хостинг API, они создали единый, самодостаточный бинарный файл размером 25 МБ. Этот оптимизированный подход также снизил потребление памяти до 45 МБ. В результате холодные запуски в их функциях Azure значительно улучшились, а размеры образов были уменьшены на 85%. Разработчик подчеркивает Native AOT как трансформативную технологию для приложений .NET в реальном времени.
favicon
dev.to
𝗦𝗶𝗴𝗻𝗮𝗹𝗥 𝘀𝘂𝗽𝗽𝗼𝗿𝘁𝘀 𝘁𝗿𝗶𝗺𝗺𝗶𝗻𝗴 𝗮𝗻𝗱 𝗡𝗮𝘁𝗶𝘃𝗲 𝗔𝗢𝗧
Изображение к статье: SignalR поддерживает обрезку и нативный AOT