• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

falsche messung bei sleep

p-flash

Newbie
Hi.

habe ein Problem bei der Messung der Differenz zwischen zwei Zeitpunkten. Zwischen den Zeitpunkten wird usleep(100000) aufgerufen. Die Differenz müsste also ca. 100 milisec sein. Es wird aber immer ein Wert um einige Milisec größerer Wert zurückgegeben. Da die Messung relativ genau sein soll, ist meine Frage, ob es eine Möglichkeit gibt diese Varianz zu verringern bzw. woran das liegen könnten.

Der Codeausschnitt:

Code:
int main() {
	unsigned long int beg5 = holezeit_rdtsc();
	unsigned long int beg3 = holezeit_rdtsc();
	usleep(100000);
	unsigned long int end3 = holezeit_rdtsc();
	unsigned long int ret3 = end3 - beg3;
	unsigned long int end5 = holezeit_rdtsc();
	unsigned long int ret5 = end5 - beg5;
	printf("Content-Type: text/plain\n\n");
	printf("0;0;%lu;0;%lu", ret3, ret5);
}

Schonmal danke....

p-flash
 

Grothesk

Ultimate Guru
Hm. Mal einen auf Echtzeitoperationen optimierten Kernel probiert?
Gibt es für Suse z. B. beim jacklab-Projekt. Musiker benötigen sowas nämlich auch. Vielleicht ist das ja auch was für dich?

www.jacklab.org
 
Oben