Как проанализировать скомпилированную работающую программу на предмет ТТХ?

У меня есть процесс, который я регулярно запускаю на машине, и начинаю подбирать для этой цели специальную машину. Если можно выбрать процессор или память, оптимизированные для этого, как бы я приступил к анализу программы, возможно, отладке или дизассемблированию, чтобы оценить типы инструкций, которые она использует чаще всего, и где находятся узкие места.

В настоящее время я запускаю его на ноутбуке, который в двух разных состояниях энергопотребления занимает либо 37 секунд в экономичном режиме, либо 17 секунд при полной мощности. Для других процессов такой существенной разницы в производительности нет, поэтому я предполагаю, что у этой программы есть некоторые особые требования к системе, которые больше всего затрудняются при работе в экономичном режиме. Это заставляет меня думать, что мне следует тщательно подумать о выборе подходящего оборудования для запуска этого процесса в будущем, начиная с анализа поведения программы. После этого я могу начать поиск оборудования, которое хорошо себя зарекомендовало по этим характеристикам.

Например, я знаю, что некоторые инженерные программы лучше всего работают с определенными процессорами, видеокартами и количеством ядер, поэтому я предполагаю, что это программное обеспечение также может иметь оптимальный процессор. Это может быть конкретная специальная инструкция, которая должна выполняться быстро, или базовая инструкция, выполняемая на максимальной тактовой частоте. Я уверен, что процесс однопоточный, поэтому добавление ядер не поможет.

Уточнение:

Приложение работает в Windows 10 на процессоре Intel. У меня нет исходного кода, это проприетарное программное обеспечение.

0 ответов

Другие вопросы по тегам