По сути, он сообщает системному планировщику только много времени вашему потоку, пока он не откажется от него (через Sleep
или SwitchToThread
) или умрет. Что касается того, что время не совпадает, ОС все еще работает в промежутке между каждым запуском, это может изменить оперативную память, кэширование и т. Д. Во-вторых, большая часть времени является неточной, поэтому она будет колебаться (особенно время, основанное на системных квантах, например GetTickCount
). Во многих ОС тоже есть что-то, например, энергосбережение / динамическая регулировка частоты, поэтому лучше всего использовать RDTSC, хотя даже при этом вы можете заметить, что запущены другие компоненты (особенно если вы можете запустить более одного физического потока). ,