HSG

Aktuelle Seite: HSG/Fächer/Informatik/Python

Beispiel für eine Zeitmessung

# -*- coding: iso-8859-1 -*-
# Autor: Klaus Merkert, Datum: 29.5.08
# aktualisiert: von Birk Dietrich 17.02.21

from time import *

print ('Primzahltester (einfach)\n')

n = int(input('n = '))

t1 = process_time() # ----------------------------------- Anfangszeit in s
t = 0
i = 1
while i <= n:
    if n%i == 0:
        t = t+1
    i = i+1
t2 = process_time() # ----------------------------------- Endzeit in s
dt = t2 - t1        # ---------- Zeitdifferenz = Endzeit - Anfangszeit

if t == 2:
    print ('\n'+str(n)+' ist eine Primzahl.')
else:
    print ('\n'+str(n)+' ist keine Primzahl.')
print ('\nRechenzeit: '+str(dt)+'s\n')

time0.py

Zusatz

Es hat sich gezeigt, dass entgegen obiger Angaben unter Linux time.time eine wesentlich bessere Auflösung hat als time.clock (Anmerkung: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8). Außerdem scheint timeit eher für Messungen geeignet zu sein, da einerseits die garbage collection für die Messung abgeschaltet wird, andererseits die Messung oft wiederholt wird. Die drei Parameter von Timer bedeuten: zu untersuchender Code (hier a*b), dafür notwendiger setup, zu verwendende 'Stoppuhr'.

import timeit

t = timeit.Timer('a*b','a = 17;b = 42',time.time)
zeit = t.timeit(number = 1000000)
print(zeit)

Links