Pregunta

Así que sé que el reloj () mide ciclos de reloj, y por lo tanto no es muy bueno para medir el tiempo, y sé que hay funciones como omp_get_wtime () para conseguir el tiempo de la pared, pero es frustrante para mí que la pared tiempo varía tanto, y se preguntaba si había alguna manera de medir ciclos de reloj distintos (un solo ciclo, incluso si más de un hilo ejecuta en él). Tiene que ser algo relativamente simple / nativo. Gracias

¿Fue útil?

Solución

Véase la respuesta de FreeMemory esta pregunta para RDTSC si el uso de x86, que he probado y parece funcionar bien en mi sistema (Mac), pero ver mi respuesta a esta pregunta . Véase también la crítica de RDTSC aquí .

No es por lo general vale la pena bajar a un nivel demasiado bajo de detalle, sin embargo, otras partes y piezas de trabajo que el equipo tiene que hacer la voluntad de utilizar hasta ciclos de reloj, por lo que variará dependiendo de la carga. Encuentro omp_get_wtime() suficiente, aunque tengo que poner mi código en un bucle extra para asegurarse de que tarda aproximadamente un segundo para asegurar resultados consistentes de una ejecución a otra.

Otros consejos

¿Está seguro de que tomar medidas de tiempo no va a funcionar para usted? Tenga en cuenta que sólo se puede medir a tantos milisegundos, dependiendo del sistema operativo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top