GetTickCount64

Функция GetTickCount64() возвращает количество миллисекунд, прошедших с момента старта системы.

ulong  GetTickCount64();

Возвращаемое значение

Значение типа ulong.

Примечание

Счетчик ограничен разрешающей способностью системного таймера, который как правило возвращает результат с точностью 10-16 миллисекунд. В отличие от функции GetTickCount, которая имеет тип uint и поэтому переполняется каждые 49.7 дней при непрерывной работе компьютера,  GetTickCount64() может использоваться при неограниченном времени работы компьютера и не боится переполнения.

Пример:

#define MAX_SIZE 40
 
//+------------------------------------------------------------------+
//| Скрипт для замера времени вычисления 40 чисел Фибоначчи          |
//+------------------------------------------------------------------+
void OnStart()
  {
   long fib_array[MAX_SIZE];
 
//--- запомним начальное значение
   ulong start=GetTickCount64();
//--- цикл, в котором вычисляем заданное количество чисел из ряда Фибоначчи
   for(int i=0;i<MAX_SIZE;i++) 
      fib_array[i]=TestFibo(i);
//--- получим затраченное время в миллисекундах
   ulong time=GetTickCount64()-start;
 
//--- выведем в журнал "Эксперты" сообщение
   ArrayPrint(fib_array);
   PrintFormat("Calculating the first %d Fibonacci numbers took %I64u ms",MAX_SIZE,time);
  }
//+------------------------------------------------------------------+
//| Функция получения числа Фибоначчи по его порядковому номеру      |
//+------------------------------------------------------------------+
long TestFibo(long n)
  {
//--- первый член ряда Фибоначчи
   if(n<2)
      return(1);
//--- все последующие члены вычисляются по этой формуле
   return(TestFibo(n-2)+TestFibo(n-1));
  }

Смотри также

Дата и время, EventSetMillisecondTimer, GetTickCount, GetMicrosecondCount