Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-8576

Javascript performance for QML is much worse than javascript performance within the WebView in QML.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 4.7.0
    • 4.7.0
    • None
    • Microsoft Windows XP Professional Service Pack 2
      Microsoft Visual Studio Team System 2008 Development Edition
      Intel(r) Core(TM)2 Quad CPU - Q6600 @ 2.40GHz, 3.25 GB of RAM
    • a91f8d704c3ff3826f0ea8b7e73fc6d91dd5b836

    Description

      The performance of the javascript version of fbench by John Walker in QML is significantly worse than the same benchmark in a WebView within QML. One would expect both to be roughly equivalent.

      Also, the performance degrades very quickly with each run if line 283 of the QML version of fbench.js. This line declares a variable that is used in a loop and is marked with a comment.

      The following are the results from my WindowsXP machine with a snapshot from gitorious from around 17 Feb 2010 compiled with Microsoft Visual Studio 2008 in release mode with 5000 iterations.

      QML
      ------------------
      Elapsed time in seconds: 10.110
      Time for 1000 iterations: 2.0220
      No errors in results.
      Elapsed time in seconds: 10.207
      Time for 1000 iterations: 2.0414
      No errors in results.
      Elapsed time in seconds: 10.268
      Time for 1000 iterations: 2.0536
      No errors in results.

      WebView in QML
      ----------------------------
      Elapsed time in seconds: 0.226
      Time for 1000 iterations: 0.0452
      No errors in results.
      Elapsed time in seconds: 0.227
      Time for 1000 iterations: 0.0454
      No errors in results.
      Elapsed time in seconds: 0.228
      Time for 1000 iterations: 0.0456
      No errors in results.

      Also, one more datapoint is Safari 4.0.4 (531.21.10) on the same machine
      -------------------------------------------------------------------------------------------------------
      Elapsed time in seconds: 0.061
      Time for 1000 iterations: 0.0122
      No errors in results.
      Elapsed time in seconds: 0.061
      Time for 1000 iterations: 0.0122
      No errors in results.
      Elapsed time in seconds: 0.060
      Time for 1000 iterations: 0.0120
      No errors in results.

      Attachments

        1. withorwithout.tar.gz
          0.3 kB
          Kent Hansen
        2. script.tar.gz
          4 kB
          Aaron Kennedy
        3. qmlfbench.tar.gz
          5 kB
          Robert Daniels
        4. fbench.qml
          2 kB
          Kent Hansen
        5. EnableDebugger.diff
          1 kB
          Kent Hansen
        6. DumpJSCBytecode.diff
          1 kB
          Kent Hansen
        7. bench.cpp
          0.4 kB
          Kent Hansen

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              kenthans Kent Hansen (Inactive)
              robertd Robert Daniels
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes