[Spice-devel] [PATCH 03/12] qxl-wddm-dod: Introduce TimeMeasurement class for timing debugging

Yuri Benditovich yuri.benditovich at daynix.com
Sun Mar 12 08:45:00 UTC 2017


In release build this class resolved to empty statements.
In debug build it is useful for measurement of execution time.

Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
---
 qxldod/QxlDod.h | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/qxldod/QxlDod.h b/qxldod/QxlDod.h
index f441f4b..324b940 100755
--- a/qxldod/QxlDod.h
+++ b/qxldod/QxlDod.h
@@ -225,6 +225,41 @@ typedef struct _CURRENT_BDD_MODE
     } FrameBuffer;
 } CURRENT_BDD_MODE;
 
+#if DBG
+class TimeMeasurement
+{
+public:
+    TimeMeasurement()
+    {
+        Start();
+    }
+    void Start()
+    {
+        KeQuerySystemTime(&li1);
+    }
+    void Stop()
+    {
+        KeQuerySystemTime(&li2);
+    }
+    ULONG Diff()
+    {
+        return (ULONG)((li2.QuadPart - li1.QuadPart) / 10000);
+    }
+protected:
+    LARGE_INTEGER li1;
+    LARGE_INTEGER li2;
+};
+#else
+class TimeMeasurement
+{
+public:
+    TimeMeasurement() {}
+    void Start() {}
+    void Stop() {}
+    ULONG Diff() { return 0; }
+};
+#endif
+
 class QxlDod;
 
 class HwDeviceInterface {
-- 
2.7.0.windows.1



More information about the Spice-devel mailing list