У меня есть высокопроизводительное приложение, которое обрабатывает очень большой объем данных. Он получает, анализирует и отбрасывает огромные объемы информации за очень короткие периоды времени. Это вызывает значительный отток объектов, который я сейчас пытаюсь оптимизировать, но это также вызывает вторичную проблему. Когда начинается сборка мусора, это может вызвать некоторые длительные задержки, поскольку он очищает вещи (под длинным я подразумеваю от 10 до 100 миллисекунд). В 99% случаев это приемлемо, но для коротких промежутков времени продолжительностью около 1-2 минут мне нужно быть абсолютно уверенным, что сборка мусора не вызывает задержки. Я заранее знаю, когда наступят эти периоды времени, и мне просто нужен способ убедиться, что сборка мусора не происходит в этот период. Приложение написано на C # с использованием .NET 4.0 Framework и, если это имеет значение, использует как управляемый, так и неуправляемый код.
Мои вопросы:
Примечание. Эта система довольно сложна и состоит из множества различных компонентов. Я надеюсь избежать подхода, при котором мне придется реализовать собственный интерфейс IDisposable для каждого класса программы.