Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Test computer processing speed with a simple Python script

I want to make a simple script just to test the time that the computer takes to execute it. I already built it with PyQt and made a kinda loop using QTimer. Now i need the "make busy" part. What kind of commands can I use just to make the computer work a little so I can get the time it takes and compare with other computers?

Here is my code so you can understand better:

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)
like image 854
jonathan.hepp Avatar asked Nov 30 '11 13:11

jonathan.hepp


2 Answers

You can do any complex calculation problem in a loop:

  • Calculate factorial for some big number (easy to implement)
  • Calculate chain SHA1 hash 100 000 times (very easy to implement)
  • Invert big matrix (no so easy to implement)
  • ...
  • etc.

Some of those problems use CPU (factorial, SHA1), some others - CPU and memory (matrix invert). So first you need to decide, which part of computer you want to benchmark.

like image 134
werewindle Avatar answered Sep 29 '22 01:09

werewindle


Usually you can achieve that with a loop that does some simple work, something like this:

lst = []
for i in range(1000000):
    lst.append('x')
like image 32
Óscar López Avatar answered Sep 29 '22 01:09

Óscar López