У меня есть программа на С ++ (скомпилированная с Visual Studio 2010 для Windows x64), которая выполняет некоторую математическую оптимизацию и не имеет интерактивных элементов ((одиночный) процесс только запускается через консоль и заканчивается после завершения оптимизации). Время выполнения зависит от заданного ввода и может быть, например, приблизительно. 4 минуты.
Когда я запускаю этот процесс на своей машине (Dell Latitude E6420, Intel Core i7-2720QM 2,2 ГГц, 8 ГБ ОЗУ, Windows 7 (64 бита)), он использует 13% всего процессора (это должно быть правильно, поскольку он также может использовать одно ядро). Проблема заключается в том, что он работает более чем в 4-8 раз медленнее, чем на другом Dell Latitude E6420 (с точно такой же статистикой и даже в основном тем же установленным программным обеспечением), при использовании ресурсов одного ядра. Например: процесс выполняется на моей машине 20 минут, а на другой - 4 минуты.
Другие процессы не выполняются, за исключением системных процессов (загрузка процессора составляет почти 0%, за исключением запущенного процесса c++).
Численные ошибки или другие математические проблемы не подлежат сомнению, проверено, что алгоритм работает одинаково на обеих машинах, только медленнее (при одинаковом использовании процессора (= 13%).
Я хочу избежать переустановки Windows, поэтому вопрос в том, могут ли быть другие причины, такие как неисправное оборудование, неправильные настройки BIOS и т.д.? Все драйверы обновлены.
Любая идея, что может вызвать эту чрезвычайную разницу во времени выполнения?