Во время профилирования моего приложения (C #, .NET 4) я заметил стороннюю библиотеку, которую я использую явным образом, вызывает GC.Collect ().Это очень раздражает, потому что иногда это сильно влияет на производительность моего приложения, так как некоторые вызовы этой библиотеки заканчиваются огромными циклами: время, проведенное в GC.Collect, составляет более 80% от общего времени выполнения.
Конечно, я сообщил об этом поведении сопровождающим библиотеки (библиотека не с открытым исходным кодом), но пока они работают над новой версией, я бы хотел оптимизировать свое приложение.Что я могу сделать?
Я попытался настроить GC, установив для GCSettings.LatencyMode значение GCLatencyMode.LowLatency (конечно, только во время выполнения вызовов библиотеки), но безрезультатно.Я бы предпочел избежать разветвления моего процесса.
Есть идеи?