GetSystemTime получает абсолютное время, часы - относительное время, но оба измеряют прошедшее время, а не процессорное время, связанное с фактическим потоком / процессом.
Конечно, clock () более переносим.Сказав, что я использую clock_gettime в Linux, потому что с этим вызовом я могу получить как истекшее, так и потоковое процессорное время.
boost имеет некоторые функции времени, которые вы можете использовать, которые будут работать на нескольких платформах, если вы хотите независимый от платформы код.