From bbf3205415c287d61cf8e9f23d347a6fad459019 Mon Sep 17 00:00:00 2001 From: Aaron Culliney Date: Sun, 17 Nov 2013 15:01:23 -0800 Subject: [PATCH] more timing statistics --- src/timing.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/timing.c b/src/timing.c index 85b6b9f0..06f59c7a 100644 --- a/src/timing.c +++ b/src/timing.c @@ -162,7 +162,11 @@ void cpu_thread(void *dummyptr) { bool negative = false; long drift_adj_nsecs = 0; // generic drift adjustment between target and actual +#ifndef NDEBUG unsigned long dbg_ticks = 0; + int speaker_neg_feedback = 0; + int speaker_pos_feedback = 0; +#endif do { @@ -256,11 +260,24 @@ void cpu_thread(void *dummyptr) { } #ifndef NDEBUG + // collect timing statistics + + if (speaker_neg_feedback > g_nCpuCyclesFeedback) + { + speaker_neg_feedback = g_nCpuCyclesFeedback; + } + if (speaker_pos_feedback < g_nCpuCyclesFeedback) + { + speaker_pos_feedback = g_nCpuCyclesFeedback; + } + dbg_ticks += EXECUTION_PERIOD_NSECS; if ((dbg_ticks % NANOSECONDS) == 0) { + LOG("tick:(%ld.%ld) real:(%ld.%ld) ... speaker cycles feedback: %d/%d", t0.tv_sec, t0.tv_nsec, ti.tv_sec, ti.tv_nsec, speaker_neg_feedback, speaker_pos_feedback); dbg_ticks = 0; - LOG("tick (%ld . %ld) real: (%ld . %ld)", t0.tv_sec, t0.tv_nsec, ti.tv_sec, ti.tv_nsec); + speaker_neg_feedback = 0; + speaker_pos_feedback = 0; } #endif } while (!emul_reinitialize);