LINUX.ORG.RU

.Net AvaloniaUI Маленький вопрос

 avaloniaui, netcore


0

3

Приветствую, решил потыкать палкой AvaloniaUI, собрал простейшей приложение из одного пустого окна, запустил, после заглянул в менеджер процессов и малость офигел - потребление памяти больше 100Мб на одном пустом окне О_о. Как-то уменьшить нельзя?

https://add.pics/Y6KeId

★★★★★
Ответ на: комментарий от Midael

Есть еще AOT, там вообще смешные цифры.

Если брать мой пример хелловорлда выше, и паблишить вот так:

dotnet publish -c Release -r linux-x64 -o publish -p:UseAppHost=true /p:PublishTrimmed=true /p:PublishAot=true --self-contained true ./Hello.csproj

То в итоге мы получим нативный бинарь 1.8 мегабайта, который при запуске жрет всего 7 мегабайт оперативки.

Но у AOT есть некоторые ограничения, как и у тримминга.

lovesan ★★★
()
Ответ на: комментарий от xterro

Чего гадать-то:

https://learn.microsoft.com/en-us/windows/win32/procthread/thread-stack-size?redirectedfrom=MSDN

Под линуксом ulimit -s смотришь. Он обычно x8.

Все остальное выделение – для какой-то работы, нужной библиотекам. Возвращается взад когда «доп. процессы» (потоки) завершаются. Но так-то там некий пул используется (например, штук 20 потоков по дефолту возникает на неком приложении с авалонией, reactiveUI и т.д. СБИШ). Предполагается как бы что ты не занимаешься восходом солнца вручную, как диды, переключением передач пассатижами с перегазовкой и треском шестеренок, т.е. теребоньканьем потоков и прочим рукоделием, любезным серду леЦППедистов, не осиливших промисы, а Taskи в async/await кидаешь и не паришься какой именно поток их обработает.

anonymous
()