Frage

So weiß ich, dass clock () Maßnahmen Taktzyklus, und somit ist nicht sehr gut zum Messen der Zeit, und ich weiß, gibt es Funktionen wie omp_get_wtime () für die Wand Zeit bekommen, aber es ist frustrierend für mich, dass die Wand Zeit variiert so viel, und wurde gefragt, ob es eine Möglichkeit, unterschiedliche Taktzyklen zu messen war (nur ein Zyklus, auch wenn mehr als ein Thread in ihr ausgeführt). Es hat etwas relativ einfach / native sein. Dank

War es hilfreich?

Lösung

Siehe Freememory Antwort auf diese Frage für RDTSC wenn Ihr mit x86, die ich getestet habe und scheint auf meinem System (mac) zu funktionieren, aber meine Antwort auf diese Frage . Siehe auch die Kritik an RDTSC hier .

Es ist nicht in der Regel lohnt sich auf einem zu niedrigen Niveau von Detail unten zu erhalten, obwohl auch andere Stücke von Arbeit benötigt der Computer Taktzyklen tun aufbrauchen, so dass es je nach Belastung variieren. Ich finde omp_get_wtime() ausreichend, obwohl ich sicherstellen muß meinen Code in einer zusätzlichen Schleife setze es dauert etwa eine Sekunde konsistente Ergebnisse von Durchlauf zu Durchlauf zu gewährleisten.

Andere Tipps

Sind Sie sicher, dass die Zeit Messungen werden für Sie nicht arbeiten? Denken Sie daran, Sie können nur so viele Millisekunden messen, abhängig von den OS.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top