diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2023-07-10 15:19:29 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2023-08-02 15:38:29 +0000 |
commit | 8eaf13c3a782139a04d31e0123fa2b2eb94a5178 (patch) | |
tree | 452834699001b4ab36f4daefe84e87f9f86ce939 | |
parent | 345841f53e3146b0f7dd8a4f53cc70c42437b277 (diff) |
Profiling: Use nanosecond resolution for timers
Otherwise, some code paths will be seriously underestimated: For
instance, a function that takes just under one millisecond, but gets
called a million times, would erroneously show up with zero total
effort.
Change-Id: Id67c423489c2e88df883d369861a2805e0a4a3b1
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
-rw-r--r-- | src/lib/corelib/tools/profiling.cpp | 8 | ||||
-rw-r--r-- | src/lib/corelib/tools/profiling.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/corelib/tools/profiling.cpp b/src/lib/corelib/tools/profiling.cpp index db64a73c6..62815912d 100644 --- a/src/lib/corelib/tools/profiling.cpp +++ b/src/lib/corelib/tools/profiling.cpp @@ -72,7 +72,7 @@ void TimedActivityLogger::finishActivity() { if (!d) return; - const QString timeString = elapsedTimeString(d->timer.elapsed()); + const QString timeString = elapsedTimeString(d->timer.nsecsElapsed()); d->logger.qbsLog(LoggerInfo, true) << Tr::tr("Activity '%2' took %3.").arg(d->activity, timeString); d.reset(); @@ -98,13 +98,13 @@ void AccumulatingTimer::stop() { if (!m_timer.isValid()) return; - *m_elapsedTime += m_timer.elapsed(); + *m_elapsedTime += m_timer.nsecsElapsed(); m_timer.invalidate(); } -QString elapsedTimeString(qint64 elapsedTimeInMs) +QString elapsedTimeString(qint64 elapsedTimeInNs) { - qint64 ms = elapsedTimeInMs; + qint64 ms = elapsedTimeInNs / (1000 * 1000); qint64 s = ms/1000; ms -= s*1000; qint64 m = s/60; diff --git a/src/lib/corelib/tools/profiling.h b/src/lib/corelib/tools/profiling.h index c6fc9ede7..3220c2a82 100644 --- a/src/lib/corelib/tools/profiling.h +++ b/src/lib/corelib/tools/profiling.h @@ -52,7 +52,7 @@ namespace qbs { namespace Internal { class Logger; -QString elapsedTimeString(qint64 elapsedTimeInMs); +QString elapsedTimeString(qint64 elapsedTimeInNs); class TimedActivityLogger { |