GetTickCount64

A função GetTickCount() 64 retorna o número de milissegundos que passaram desde o início do sistema.

ulong  GetTickCount64();

Valor retornado

Valor do tipo ulong.

Observação

O contador é limitado pela resolução do temporizador do sistema, que geralmente retorna um resultado com uma precisão de 10 a 16 milissegundos. Ao contrário da função GetTickCount, que é do tipo uint e, consequentemente, é abarrotada a cada 49,7 dias durante operação contínua do computador, GetTickCount64() pode ser usada com período de operação indefinido do computador e sem receio de abarrotamento.

Exemplo:

#define MAX_SIZE 40
 
//+------------------------------------------------------------------+
//| Script para medir o tempo de cálculo de 40 números de Fibonacci  |
//+------------------------------------------------------------------+
void OnStart()
  {
   long fib_array[MAX_SIZE];
 
//--- armazenamos o valor inicial
   ulong start=GetTickCount64();
//--- ciclo no qual calculamos o número especificado de números da sequência de Fibonacci
   for(int i=0;i<MAX_SIZE;i++) 
      fib_array[i]=TestFibo(i);
//--- obtemos o tempo gasto em milissegundos
   ulong time=GetTickCount64()-start;
 
//--- exibimos uma mensagem no log "Experts"
   ArrayPrint(fib_array);
   PrintFormat("Calculating the first %d Fibonacci numbers took %I64u ms",MAX_SIZE,time);
  }
//+------------------------------------------------------------------+
//| Função para obter o número de Fibonacci pelo seu número de ordem |
//+------------------------------------------------------------------+
long TestFibo(long n)
  {
//--- o primeiro membro da sequência de Fibonacci
   if(n<2)
      return(1);
//--- todos os membros subsequentes são calculados por esta fórmula
   return(TestFibo(n-2)+TestFibo(n-1));
  }

Veja também

Data e hora, EventSetMillisecondTimer, GetTickCount, GetMicrosecondCount