Я хочу измерить время между вызовом функции и следующим вызовом.
В настоящее время у меня есть приложение с Bluetooth. Где Arduino отправляет байтовый массив в приложение для отображения в виде таблицы. У меня есть два модуля Bluetooth, которые я хочу измерить время, чтобы увидеть разницу в скорости.
Когда приложение получает байтовый массив, вызывается функция didUpdateValueFor. И в нем он отправляет полученные данные в другую функцию.
Моя проблема в том, что все таймеры и счетчики, которые я использовал, работали только для получения полного времени выполнения функции.
Все, что я хочу, это измерить время между получением первого байтового массива и получением следующего упакованного.
func printTimeElapsedWhenRunningCode(title:String, operation:()->()) {
let startTime = CFAbsoluteTimeGetCurrent()
operation()
let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
print("Time elapsed for \(title): \(timeElapsed) s.")
}
Используя функцию, которую я разместил выше, я уверен, что она прекрасно работает. Но я хочу, чтобы он измерял время между каждым вызовом didUpdateValueFor.
Итак:
Byte array receievd - didUpdateValueFor is called
Timer starts
New array received - didUpdateValueFor is called
Timebetween is: "...ms"