Проверьте скорость работы компьютера с помощью простого скрипта Python - PullRequest
5 голосов
/ 30 ноября 2011

Я хочу сделать простой скрипт, чтобы проверить время, которое компьютер тратит на его выполнение. Я уже собрал его с PyQt и сделал своего рода цикл с использованием QTimer. Теперь мне нужна часть "занято". Какие команды я могу использовать только для того, чтобы заставить компьютер работать немного, чтобы я мог получить время и сравнить его с другими компьютерами?

Вот мой код, чтобы вы могли лучше понять:

self.Tempo = QtCore.QTimer(None)
self.Cron = QtCore.QTime(0,0,0,0)

def begin():
    self.Cron.start()
    self.Tempo.singleShot(999, update)       
def update():
    if self.lcdNumber.value() == 10:
        finish()                
    else:
        self.lcdNumber.display(self.lcdNumber.value()+1)
        #Here I want to make some processing stuff            
        self.Tempo.singleShot(999, update)
def finish():
    print("end")
    took = self.Cron.elapsed() / 1000
    print("took: {0} seconds" .format(str(took)))
    self.lcdNumber_2.display(took)

Ответы [ 3 ]

4 голосов
/ 30 ноября 2011

Вы можете выполнить любую сложную задачу вычисления в цикле:

  • Рассчитать факториал для некоторого большого числа (легко реализовать)
  • Рассчитать хэш цепочки SHA1 100 000 раз (очень легко реализовать)
  • Инвертировать большую матрицу (не так легко реализовать)
  • ...
  • и т.д.

Некоторые из этих проблем используют CPU (factorial, SHA1), некоторые другие - CPU и память (матричное инвертирование). Итак, сначала вам нужно решить, какую часть компьютера вы хотите тестировать.

1 голос
/ 30 ноября 2011

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

1 голос
/ 30 ноября 2011

Обычно этого можно достичь с помощью цикла, который выполняет простую работу, например, так:

lst = []
for i in range(1000000):
    lst.append('x')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...