Как рассчитать скорость компьютера - PullRequest
0 голосов
/ 05 октября 2009

У меня есть высокоскоростная программа сбора / анализа данных АЦП, которая плохо работает на старых компьютерах. Это было обнаружено в ходе бета-тестирования в лаборатории моего клиента, когда один из инженеров-тестировщиков сообщил, что приложение зависло. Оказывается, в ее лаборатории был старый компьютер (одноядерный P4), и «зависание» - это то, что компьютеру потребовалось очень много времени, чтобы выполнить некоторые вычисления.

Я хотел бы рассчитать «вычислительную мощность» при запуске и предупредить клиента, что некоторые функции будут работать очень медленно, если рассчитанная мощность будет ниже некоторой пороговой точки. Обратите внимание, что скорость процессора не то, что я после (P4 работал на 2,4 ГГц).

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

Я мог бы использовать алгоритм бенчмарка, такой как точильный камень / Dhrystone / что угодно, но я не хочу добавлять больше времени для запуска, чем необходимо.

Есть ли другой способ сделать это, не затрачивая слишком много времени на запуск?

1011 * ТИА *

Ответы [ 5 ]

6 голосов
/ 05 октября 2009

Вероятно, лучше всего выполнить небольшой фактический расчет (с некоторыми примерами данных) и рассчитать время операции.

Что касается времени запуска, вы можете либо выполнить тестирование во время установки, либо запустить его при запуске только в первый раз, когда он не был запущен (а затем сохранить флаг, указывающий, что он был запущен).

4 голосов
/ 05 октября 2009

Есть индикатор выполнения или аналогичный, так что есть некоторые отзывы, что приложение не падало.

(например, в будущем ваш компьютер может быть в два раза быстрее, но ваш набор данных в 30 раз больше. Компьютер, который вы когда-то считали быстрым, теперь выглядит так, как будто он умер)

2 голосов
/ 05 октября 2009

Вместо запуска проверки при запуске создайте установку для своего приложения и затем выполните проверку и необходимые предупреждения.

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

0 голосов
/ 07 октября 2009

Если мы спроектировали внешний интерфейс (UI) и внутренний интерфейс (функциональность) правильным образом , даже если вычисления выполняются медленно, ни программа, ни компьютер не должны зависать.

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

Этот ответ может быть далеко от вашего вопроса, но только предложение.

0 голосов
/ 05 октября 2009

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

...