I have qtbase cmake project opened and successfully configured in Creator. Once i modify a cmake file (add a new line) and save, Creator starts reconfiguring, which is fine.
Just as the configuration progress bar finishes, Creator freezes the UI (and I get a beach ball) for around 6-10 seconds.
Using Instruments, I found out that there are many allocations happening during that freeze, and multiple threads (including the main one) are waiting on malloc mutex locks.
Specifically QHash::detach is called hundreds of thousands of times here
Not sure why removing a file from cache needs to detach the whole QHash.
sha1 of Creator used 97b6b2c0914f9c56da9d80d876abe00bcae1e625
It already has https://codereview.qt-project.org/c/qt-creator/qt-creator/+/347631 included
|For Gerrit Dashboard: QTCREATORBUG-25783|
|353145,3||CMakePM: Clear and setup file watcher before and after backup configuration||4.15||qt-creator/qt-creator||Status: MERGED||+2||0|
|353398,4||CMakePM: Enable extra compilers only for files in the project||4.15||qt-creator/qt-creator||Status: MERGED||+2||0|
|353556,2||CMake: Avoid iterating project tree for each build target||4.15||qt-creator/qt-creator||Status: MERGED||+2||0|
|353573,3||Avoid registering individual files for watching||master||qt-creator/qt-creator||Status: MERGED||+2||0|
|354795,1||CMake: Avoid iterating project tree for each build target||master||qt-creator/qt-creator||Status: ABANDONED||0||0|
|354796,8||CMake: Do not create file system node in main thread||master||qt-creator/qt-creator||Status: MERGED||+2||0|
|355865,2||Avoid expanding QRC nodes in main thread||master||qt-creator/qt-creator||Status: MERGED||+2||0|
|356344,3||CMakePM: Do not expand qrc files for <File System>||4.15||qt-creator/qt-creator||Status: MERGED||+2||0|
|357343,12||Don't update extra compilers individually after project load||5.0||qt-creator/qt-creator||Status: MERGED||+2||0|