Я использую Visual Studio 2010 для написания и отладки небольшой программы. Проблема в том, что всякий раз, когда я запускаю приложение через Visual Studio 2010, процесс моего приложения вызывает ошибки страниц в диапазоне 100000 в секунду, что замедляет работу программы в 10 или более раз. Когда я запускаю сгенерированный исполняемый файл из файловой системы, после завершения запуска не возникают ошибки страницы. Это происходит с отладкой и выпускной сборкой (все допустимые оптимизации). Никакие исключения не выбрасываются.
Сама программа скомпилирована около 200 КБ и при выполнении содержит около 10 МБ данных с более чем 4 ГБ доступной памяти. Работают только основной поток и поток фреймворка ведения журнала. Данные загружаются один раз в начале, после чего только результаты сохраняются во вновь выделенной памяти и записываются в журнал в конце.
Не похоже, чтобы на диске было много активности, и монитор ресурсов Windows не указывает на серьезные сбои, в то время как диспетчер задач показывает постоянно увеличивающиеся числа. Я знаю, что при использовании IDE следует ожидать некоторой потери производительности, но это кажется несколько чрезмерным. Любой совет?
Изменить:
Примечание. Мне удалось сократить счет примерно до половины, сократив (де)распределение новой памяти.
Обозреватель процессов говорит:
Похоже виноват отладчик. Если я не прикрепляю его, он ведет себя так, как ожидалось. Хотя мне все еще интересно, почему это вызывает такое большое количество ошибок страниц, что значительно замедляет все сборки.