¿Es posible medir la resolución de la llamada std::clock()
? ¿O es esto un problema donde no es posible observar sin influenciar?Medición de la resolución de `std :: clock()`
escribí el siguiente punto de referencia ingenua:
#include <ctime>
#include <iostream>
int main() {
std::clock_t initial = std::clock();
std::clock_t current;
while (initial == (current = std::clock()));
std::cout << "Initial: " << initial << std::endl;
std::cout << "Current: " << current << std::endl;
std::cout << "Precision: " << (static_cast<double>(current - initial)/CLOCKS_PER_SEC) << "s" << std::endl;
}
me he encontrado que unos pocos cientos de veces y siempre da salida a 0.01s
.
Mis preguntas son:
- está por encima de código de una buena manera de medir la resolución de
clock()
? - Si no, entonces ¿cuál es el problema? ¿Y cómo podría mejorarse?
¿Qué quiere decir con "precisión"? ¿Cómo lo medirá sin referirse a otro reloj "apropiado"? –
¿Se rompe en el primer bucle cada vez? – James
@Kerrek SB está parafraseando mi pregunta. – StackedCrooked