2015-11-12 1 views
0

Я искал что-то такое же простое, как CFAbsoluteTimeGetCurrent(), которое не зависит от того, что системные часы остаются неизменными и игнорирует, когда центральный процессор спит (так Я могу запустить длинный тест на моем ноутбуке и пропустить время, когда он спит).Как вычислить быстрое время выполнения, независимо от спящего режима процессора и системных тактовых импульсов

ответ

0

Мне удалось найти вызов машины, доступный через фундамент, который делает правильные вещи. Я сравнивал время выполнения независимо от изменения системных часов и спала процессора. Вот фрагмент кода, который может контрастировать два метода и может иллюстрировать, как CFAbsoluteTimeGetCurrent() зависит от системных часов.

import Foundation 

let t2 = CFAbsoluteTimeGetCurrent() 
let t0 = mach_absolute_time() 
codeToBenchmark() 
let t3 = CFAbsoluteTimeGetCurrent() 
let t1 = mach_absolute_time() 
let elapsed = Double(t1 - t0)/1000000000.0 
print("--- \(elapsed) \(t3 - t2) seconds ---") 

 Смежные вопросы

  • Нет связанных вопросов^_^