[Python] Precisione di time.time()
Listemessaggi CoPlast
listemessaggi a coplast.eu
Ven 22 Ago 2008 17:18:12 CEST
Un saluto a tutti.
Avete idea di quale potrebbe essere la precisione della suddetta funzione?
Avrei bisogno di misurare in continuo tempi molto piccoli (decimi di
millisecondo), secondo voi si puņ fare?
Devo per forza usare un kernel con patch RTAI e software scritto in C e
poi usato da python (con swig)? Sto provando quest'ultima strada ma per
le mie competenze la vedo dura. Vorrei usare solo python se esistesse
una soluzione al problema.
Grazie in anticipo per i consigli.
Matteo.
P.S. Riporto di seguito il codice che sto usando per fare questi test.
import time
def adesso():
return time.time() * 1E9
def aspetta(vel = 0):
if vel == 0:
time.sleep(0.0001)
elif vel == 1:
pass
delta_pausa = []
def calibra_timer():
for i in range(2):
inizio = adesso()
aspetta(i)
fine = adesso()
delta_pausa.append(fine - inizio)
def pausa(t):
inizio = adesso()
def step(va):
aspetta(va)
fine = adesso()
return fine
va = 1
fine = step(va)
while t > fine - inizio:
fine = step(va)
if t - (fine - inizio) > 1.25 * delta_pausa[0]:
va = 0
else:
va = 1
def inizializzazione():
calibra_timer()
#num_io = 24
#for i in range(num_io):
# io.append(0)
inizializzazione()
inizio = adesso()
pausa(1.234567891 * 1E9 * 10)
fine = adesso()
print fine - inizio
inizio = adesso()
for i in range (1000):
pausa(1.234567891 * 1E9 * 0.01)
fine = adesso()
print fine - inizio
Maggiori informazioni sulla lista
Python