Я разрабатываю приложение WPF, которое использует NLog.
Когда я профилирую его с помощью dotMemory , я вижу ~ 300 КБ памяти, используемой словарем, который NLogs создает во время настройки.
Я не знаю, какие объекты ObjectReflectionCache и MruCache используются для определения того, будет ли их память когда-нибудь освобождена. Может быть, кто-нибудь сможет прояснить назначение классов и огромную емкость, используемую для словаря.
Спасибо.
stacktrace, как NLog создает словарь
использование памяти словаря
Версия NLog : 4.7.2
Платформа :. NET Framework 4.6.1
Текущая конфигурация NLog
LoggingConfiguration config = new LoggingConfiguration();
DebuggerTarget debuggerTarget = new DebuggerTarget { Name = "vs", Layout = DebuggerLayout };
DebuggerLoggingRule = new LoggingRule(nlogLoggerNamePattern, debuggerTarget);
config.LoggingRules.Add(DebuggerLoggingRule);
LogManager.Configuration = config;