Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
Qt Creator 7.0.0-beta1
-
None
-
-
1a99f41fe8 (qt-creator/qt-creator/7.0) 1a99f41fe8 (qt-creator/qt-creator/master) 1a99f41fe8 (qt-creator/tqtc-qt-creator/7.0) 1a99f41fe8 (qt-creator/tqtc-qt-creator/master) 1a99f41fe8 (qt-creator/qt-creator/qds-3.3)
Description
Qt Creator calls "qbs config" a couple of times on the first start of Qt Creator with "fresh" settings. Or even on each start of Qt Creator if Qt versions for Android/WebAssembly are present.
On Windows, the calling of "qbs.exe config" is considerably slower than the calling of "qbs-config.exe". On my machine it is ~130ms vs ~100ms.
Here the qtc.utils.qtcprocess output:
qbs.exe config
qtc.utils.qtcprocess: Process 37 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs.exe config --settings-dir C:/temp/android00089/QtProject/qtcreator --unset profiles.qtc_Qt_6_2_3_edbe2366 qtc.utils.qtcprocess: Process 37 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 135 ms elapsed qtc.utils.qtcprocess: Process 38 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs.exe config --settings-dir C:/temp/android00089/QtProject/qtcreator preferences.qtcreator.kit.qt.qt6.623.wasm_32_kit ""\^""qtc_Qt_6_2_3_edbe2366"\^""" qtc.utils.qtcprocess: Process 38 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 138 ms elapsed qtc.utils.qtcprocess: Process 40 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs.exe --version qtc.utils.qtcprocess: Process 40 finished: result=0, ex=0, 7 bytes stdout, 0 bytes stderr, 89 ms elapsed qtc.utils.qtcprocess: Process 41 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs.exe config --settings-dir C:/temp/android00089/QtProject/qtcreator --add-profile qtc_Qt_6_2_3_edbe2366 moduleProviders.Qt.qmakeFilePaths ""\^""C:/Qt/6.2.3/wasm_32/bin/qmake.bat"\^""" qtc.utils.qtcprocess: Process 41 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 130 ms elapsed qtc.utils.qtcprocess: Process 42 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs.exe config --settings-dir C:/temp/android00089/QtProject/qtcreator --unset profiles.qtc_Qt_6_3_0_c8ca7e00 qtc.utils.qtcprocess: Process 42 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 138 ms elapsed qtc.utils.qtcprocess: Process 43 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs.exe config --settings-dir C:/temp/android00089/QtProject/qtcreator preferences.qtcreator.kit.qt.qt6.630.wasm_32_kit ""\^""qtc_Qt_6_3_0_c8ca7e00"\^""" qtc.utils.qtcprocess: Process 43 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 138 ms elapsed
The hacked version, where qbs-config is called directly
qbs-config.exe
qtc.utils.qtcprocess: Process 37 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs-config.exe --settings-dir C:/temp/android00089/QtProject/qtcreator --unset profiles.qtc_Qt_6_2_3_edbe2366 qtc.utils.qtcprocess: Process 37 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 106 ms elapsed qtc.utils.qtcprocess: Process 38 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs-config.exe --settings-dir C:/temp/android00089/QtProject/qtcreator preferences.qtcreator.kit.qt.qt6.623.wasm_32_kit ""\^""qtc_Qt_6_2_3_edbe2366"\^""" qtc.utils.qtcprocess: Process 38 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 100 ms elapsed qtc.utils.qtcprocess: Process 39 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs.exe --version qtc.utils.qtcprocess: Process 39 finished: result=0, ex=0, 7 bytes stdout, 0 bytes stderr, 102 ms elapsed qtc.utils.qtcprocess: Process 41 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs-config.exe --settings-dir C:/temp/android00089/QtProject/qtcreator --add-profile qtc_Qt_6_2_3_edbe2366 moduleProviders.Qt.qmakeFilePaths ""\^""C:/Qt/6.2.3/wasm_32/bin/qmake.bat"\^""" qtc.utils.qtcprocess: Process 41 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 99 ms elapsed qtc.utils.qtcprocess: Process 42 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs-config.exe --settings-dir C:/temp/android00089/QtProject/qtcreator --unset profiles.qtc_Qt_6_3_0_c8ca7e00 qtc.utils.qtcprocess: Process 42 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 106 ms elapsed qtc.utils.qtcprocess: Process 43 starting (non blocking): C:\ProgramData\chocolatey\bin\qbs-config.exe --settings-dir C:/temp/android00089/QtProject/qtcreator preferences.qtcreator.kit.qt.qt6.630.wasm_32_kit ""\^""qtc_Qt_6_3_0_c8ca7e00"\^""" qtc.utils.qtcprocess: Process 43 finished: result=0, ex=0, 0 bytes stdout, 0 bytes stderr, 100 ms elapsed
Could either QbsProjectManager call qbs-config directly, at least on Windows? Or could qbs be optimized, to relay the call to qbs-config without doing expensive things beforehand, such as instantiating Q*Application?
Attachments
For Gerrit Dashboard: QTCREATORBUG-27102 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
397770,2 | QbsProjectManager: Call qbs-config directly | 7.0 | qt-creator/qt-creator | Status: MERGED | +2 | 0 |