GetTickCount64

La función GetTickCount()64 retorna el número de milisegundos transcurridos desde el inicio del sistema.

ulong  GetTickCount64();

Valor retornado

Valor del tipo ulong.

Observación

El contador está limitado por la resolución del temporizador del sistema, que normalmente retorna el resultado con una precisión de 10-16 milisegundos. A diferencia de la función GetTickCount, que tiene el tipo uint y por eso se satura cada 49.7 días si la computadora funciona constantemente, GetTickCount64() puede usarse indefinidamente en lo que respecta al funcionamiento de la computadora, y sin temer además a la saturación.

 

Ejemplo:

#define MAX_SIZE 40
 
//+------------------------------------------------------------------+
//| Script que mide el tiempo de cálculo de 40 números de Fibonacci  |
//+------------------------------------------------------------------+
void OnStart()
  {
   long fib_array[MAX_SIZE];
 
//--- recordando el valor inicial
   ulong start=GetTickCount64();
//--- ciclo en el que calculamos la cantidad especificada de números de la serie de Fibonacci
   for(int i=0;i<MAX_SIZE;i++) 
      fib_array[i]=TestFibo(i);
//--- obtenemos el tiempo empleado en milisegundos
   ulong time=GetTickCount64()-start;
 
//--- mostramos en el diario "Expertos" el mensaje
   ArrayPrint(fib_array);
   PrintFormat("Calculating the first %d Fibonacci numbers took %I64u ms",MAX_SIZE,time);
  }
//+------------------------------------------------------------------+
//| Función para obtener un número de Fibonacci según su ordinal     |
//+------------------------------------------------------------------+
long TestFibo(long n)
  {
//--- primer miembro de la serie de Fibonacci
   if(n<2)
      return(1);
//--- todos los términos subsiguientes se calculan mediante esta fórmula
   return(TestFibo(n-2)+TestFibo(n-1));
  }

Ver también

Fecha y hora, EventSetMillisecondTimer, GetTickCount, GetMicrosecondCount