Details
-
Suggestion
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
Windows 10 22H2
Description
Steps to test
This test uses the Charts with Widgets Gallery example (https://doc.qt.io/qt-6/qtcharts-chartsgallery-example.html ) because it contains a large number of *.cpp files.
- Configure the example with
DQT_ANDROID_BUILD_ALL_ABIS=ONand build it with -parallel 10 - Use the ninjatracing tool (https://github.com/nico/ninjatracing) to convert the .ninja_log file into a *.json file
- Load the *.json file with https://ui.perfetto.dev/
Outcomes
- The primary ABI (x86_64 in my screenshot) uses all 10 threads to compile the *.cpp files.
- The secondary ABIs uses single-threaded compilation only.
As a result, most available CPU cores sit idle when building for the secondary ABIs, making them take much longer to finish compared to the primary ABI.
This discrepancy is extremely noticeable on large projects.