У меня есть решение, состоящее из нескольких проектов С#. Это было написано на С#, чтобы быстро запустить его. Сбор мусора начинает становиться проблемой: мы наблюдаем задержки в 100 мс, которых мы бы хотели избежать.
Одна мысль заключалась в том, чтобы переписать его на С++, проект по проекту. Но если вы объедините С# с неуправляемым С++, будут ли потоки в проектах на С++ заморожены сборками мусора?
UPDATE
Спасибо за ваши ответы. Это, по сути, приложение, где 100 мс могут быть значительными. Вероятно, это было плохое решение построить его на С#, но было важно, чтобы он быстро работал и работал быстро.
В настоящее время мы используем Windows Мультимедийные таймеры для запуска события каждые 5 мс. Мы видим пробелы в 100+ ms, и мы подтвердили, проверив счетчики GC, что они всегда возникают во время сбора. Оптимизация продолжается; встроенный режим Release.