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

Significant performance regression in Qt 5.0.1 compiled with MinGW

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.0.1
    • Fix Version/s: 5.1.0
    • Component/s: Packaging & Installer
    • Labels:
      None
    • Environment:
      Windows 8, 32-bit

      Description

      MinGW build of Qt 5.0.1 (from qt-project.org) much worse performance when handling QByteArrays and I/O (and probably everything in QtCore) then Qt 4.8.4. In my application that loads a text-based data file line-by-line, splits it in fields, converts them to other data types and saves everything to a file slowdown is 2-3 times depending on what kind of processing is done. I'm attaching a simple benchmark that demonstrates the problem. On my system I have the following results:

      ********* Start testing of Qt5PerfTest *********
      Config: Using QTest library 4.8.4, Qt 4.8.4
      PASS   : Qt5PerfTest::initTestCase()
      RESULT : Qt5PerfTest::testCase1():
           0.0062 msecs per iteration (total: 51, iterations: 8192)
      PASS   : Qt5PerfTest::testCase1()
      PASS   : Qt5PerfTest::cleanupTestCase()
      Totals: 3 passed, 0 failed, 0 skipped
      ********* Finished testing of Qt5PerfTest *********
      
      ********* Start testing of Qt5PerfTest *********
      Config: Using QTest library 5.0.1, Qt 5.0.1
      PASS   : Qt5PerfTest::initTestCase()
      PASS   : Qt5PerfTest::testCase1()
      RESULT : Qt5PerfTest::testCase1():
           0.018 msecs per iteration (total: 74, iterations: 4096)
      PASS   : Qt5PerfTest::cleanupTestCase()
      Totals: 3 passed, 0 failed, 0 skipped
      ********* Finished testing of Qt5PerfTest *********
      

      That's 2.9 times slowdown. I guess it is related to use of SJLJ exceptions with the new toolchain. I cannot reproduce the slowdown in Linux. Using CONFIG+=exceptions_off also does not significantly improve performance.

      It would be good to have MinGW build without such large performance regression.

        Attachments

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

          Activity

            People

            Assignee:
            kkohne Kai Köhne
            Reporter:
            eugmes Ievgenii Meshcheriakov
            Votes:
            2 Vote for this issue
            Watchers:
            7 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes