У меня есть Windows 8-процессор с процессором 8 ГГц, который, по оценкам, завершит вычисление с использованием Excel за 16 дней на основе выборочного теста данных. Это исполнение не приемлемо (!).
В вычислениях не используются возможности Excel, но в основном это сценарий VBA, вызывающий COM-объект с функцией калькулятора.
Процесс калькулятора использует 25% ЦП, а Excel использует 1%. Память подкачки, похоже, не используется. Поскольку процесс заключается в чтении и записи в текстовые файлы, я предполагаю, что это связано с вводом / выводом. Количество операций чтения / записи ввода-вывода постоянно учитывается во время расчета.
Проверка на вирусы установлена, но она не проверяется активно. т.е. процессор составляет 0% в течение расчетного периода.
Лучшее предложение - использовать RAM-диск.
Не могли бы вы предложить какие-либо другие пути расследования узких мест производительности?
[Потом...]
Большое спасибо за совет ниже. По сути, процесс калькулятора - это специализированный финансовый калькулятор, но, как уже упоминалось ниже, похоже, что узким местом является его использование через COM. Этот метод удаляет все многопоточные функциональные возможности, которые предлагает калькулятор, который также может быть обращен как веб-сервис.
Реальный сценарий включает обновление финансовой таблицы раз в три года с использованием этого нового калькулятора. К сожалению, недостаточно рано было зарезервировано достаточно рано в графике для оценки производительности, что привело к срочности исследования проблемы производительности. Поскольку этот расчет не выполняется на регулярной основе, нет необходимости настраивать среду, оптимизированную по скорости.
Правильное решение отказаться от Excel и записать многопоточный диспетчер в Calcualtor очевидно, но в настоящее время мы ищем обходной путь, по которому мы выполняем вычисления в разумные сроки.