[Interest] qmlbench tool: high cpu usage while running tool and generate report

Daniel Smith daniel.smith at qt.io
Thu Feb 9 14:47:33 CET 2023


Hi,

As the paper you cited noted, you can expect about 25% CPU usage on a quad-core system, but what this really means is that the application is using 100% of one CPU core. When looking at top, you will see CPU usage for the qmlbench application at or near 100%, as it is consuming all available cycles on that particular CPU core.

I also want to note that qmlbench should really not be used for comparing results between different hardware. There's no guarantee that the results will be usefully comparable. The original design intention was specifically for detecting performance regressions in Qt. It's most useful if you are working on Qt internals and wish to validate your changes against performance regression.

If you still want to generate your own reports, we use InfluxDB1 for storing test results. You can see the runner and result writer here: run.py\qmlbenchrunner\scripts - qt/qtqa.git - Qt QA Scripts<https://code.qt.io/cgit/qt/qtqa.git/tree/scripts/qmlbenchrunner/run.py> Also available in the repository are some scripts which may assist you in designing your own build and test automation.

Best regards,
-Daniel

From: Interest <interest-bounces at qt-project.org> On Behalf Of Gullapalli, Satyanarayan
Sent: Thursday, February 9, 2023 1:54 PM
To: interest at qt-project.org
Subject: [Interest] qmlbench tool: high cpu usage while running tool and generate report


Hi Team,



We are using the following test setup for our project:

  *   evaluation board which has
     *   iMX-8m-mini-som
     *   display(MIPI) of resolution 1280x720
     *   Integrated 2D/3D GPU and 1080p VPU
  *   running qt default applications with backend as eglfs.



With reference to link https://www.qt.io/blog/2017/04/27/performance-regression-testing-qt-quick, we have used the qmlbench tool from https://github.com/qt-labs/qmlbench/tree/master.



High CPU usage while running the qmlbench:

While testing with qmlbench tool we have noted that the usage reaching high(~100%).

Test command:

$ src/qmlbench -v --json --shell frame-count benchmarks/auto/bindings/



Find below few top command logs while running qmlbench tool:

    640 root      20   0  596216  30912  24412 S   6.0   1.5   0:00.18 qmlbench

    639 root      20   0   53856  13548  12032 S   1.3   0.7   0:00.04 qmlbench

    640 root      20   0  607208  47292  26736 R  89.1   2.3   0:02.87 qmlbench

    639 root      20   0   53856  13548  12032 S   0.0   0.7   0:00.04 qmlbench

    640 root      20   0  607220  46816  26728 R 100.0   2.3   0:05.89 qmlbench

    639 root      20   0   53856  13548  12032 S   0.0   0.7   0:00.04 qmlbench

    640 root      20   0  607344  46648  26728 R 100.3   2.3   0:08.91 qmlbench

    639 root      20   0   53856  13548  12032 S   0.0   0.7   0:00.04 qmlbench

    640 root      20   0  607336  46560  26728 R 100.3   2.3   0:11.94 qmlbench

    639 root      20   0   53856  13548  12032 S   0.0   0.7   0:00.04 qmlbench

    640 root      20   0  607348  46948  26760 R 100.3   2.3   0:14.96 qmlbench

    639 root      20   0   53856  13548  12032 S   0.0   0.7   0:00.04 qmlbench

    640 root      20   0  607372  47420  26728 R 100.0   2.3   0:17.98 qmlbench

    639 root      20   0   53856  13548  12032 S   0.0   0.7   0:00.04 qmlbench

    640 root      20   0  607348  46960  26760 R 100.3   2.3   0:21.00 qmlbench

    639 root      20   0   53856  13548  12032 S   0.0   0.7   0:00.04 qmlbench



PFA, for detailed test logs.



Is this expected behavior?, as stated "the maximum usage a single-threaded process can take up to 25% of total CPU time" in the document https://web.wpi.edu/Pubs/E-project/Available/E-project-042518-124639/unrestricted/Developing_a_Benchmark_for_Qt_on_Embedded_Platforms.pdf at page#29.

 If not expected behavior, then is there any to control the cpu usage.



Generating reports:

As displayed in the link https://www.qt.io/blog/2017/04/27/performance-regression-testing-qt-quick, how can we generate reports using qmlbench tool for benchmark comparison.

How can we include/create reports of the performance metrics like Frame Rate, CPU Usage, and Physical Memory Usage while using qmlbench tool


Regards,
Satyanarayan Gullapalli

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20230209/f01fa7a8/attachment.htm>


More information about the Interest mailing list