Skip to content
Snippets Groups Projects
Commit ecbe2a3e authored by Beat Küng's avatar Beat Küng Committed by Julian Oes
Browse files

drv_hrt posix: improve performance for hrt_absolute_time()

Previously hrt_absolute_time() was at around 5% of the total CPU usage, now
it's around 0.35%.
parent ccefc640
No related branches found
No related tags found
No related merge requests found
......@@ -154,6 +154,11 @@ uint64_t hrt_system_time()
*/
hrt_abstime hrt_absolute_time()
{
#if defined(ENABLE_LOCKSTEP_SCHEDULER)
// optimized case (avoid ts_to_abstime) if lockstep scheduler is used
const uint64_t abstime = lockstep_scheduler.get_absolute_time();
return abstime - px4_timestart_monotonic;
#else // defined(ENABLE_LOCKSTEP_SCHEDULER)
struct timespec ts;
px4_clock_gettime(CLOCK_MONOTONIC, &ts);
#ifdef __PX4_QURT
......@@ -161,6 +166,7 @@ hrt_abstime hrt_absolute_time()
#else
return ts_to_abstime(&ts);
#endif
#endif // defined(ENABLE_LOCKSTEP_SCHEDULER)
}
#ifdef __PX4_QURT
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment