vite a coleta de lixo do .NET por um curto período de tem

Tenho um aplicativo de alto desempenho que lida com uma quantidade muito grande de dados. Ele está recebendo, analisando e descartando enormes quantidades de informações em períodos muito curtos. Isso causa uma quantidade razoável de rotatividade de objetos que atualmente estou tentando otimizar, mas também causa um problema secundário. Quando a coleta de lixo entra em ação, pode causar alguns atrasos, pois limpa as coisas (por muito tempo, quero dizer 10 a 100 segundos de milissegundos). Em 99% do tempo, isso é aceitável, mas, por breves janelas, com duração de 1 a 2 minutos, preciso ter certeza absoluta de que a Coleta de Lixo não causa atrasos. Sei quando esses períodos ocorrerão de antemão e só preciso de uma maneira de garantir que a coleta de lixo não ocorra durante esse período. O aplicativo é gravado em C # usando o .NET 4.0 Framework e usa código gerenciado e não gerenciado, se isso import

As minhas perguntas são;

possível pausar brevemente a Coleta de Lixo para todo o program É possível usar System.GC.Collect () para forçar a coleta de lixo antes da janela. Preciso me livrar da Coleta de Lixo e, se fizer isso por quanto tempo, ficarei livre da Coleta de Lixo? Que conselhos as pessoas têm para minimizar a necessidade geral de Coleta de Lixo?

Nota - este sistema é bastante complexo, com muitos componentes diferentes. Espero evitar ir para uma abordagem em que tenho que implementar uma interface personalizada IDisposable em todas as classes do program

questionAnswers(2)

yourAnswerToTheQuestion