Jochen, >> Well [the time] goes into "Handling Products". So it is >> ModuleLoader::handleProduct(). >> And there, it could be the ModuleMerger. But speculation is dangerous when >> discussing about performance. > See https://lists.qt-project.org/pipermail/qbs/2019-August/002546.html > > You can find my test results together with the scripts to generate the > projects here: > https://gist.github.com/j-ulrich/35f345007809c77403a8ee88f4d9db11#file-results-md
Then you might be happy to hear that the ModuleMerger was completely rewritten for Qbs 1.16.0 (https://codereview.qt-project.org/c/qbs/qbs/+/284737). Running your benchmark with Qbs 1.16.0 (Qt Creator 4.12) gives me significantly better results in case of transitive dependencies. See below. I am not sure whether this has any noticable effect on real-world projects. But if ModuleMerger was ever a bottleneck, then it should not longer be. --------------------- i5-2520M CPU @ 2.50GHz Xubuntu 16.04) First line: Qbs 1.15.1 Second line: Qbs 1.16.0 > Resolving 4-8-direct real 0m3.089s real 0m2.669s > Resolving 4-8-implicit real 0m4.808s real 0m3.409s > Resolving 4-8-explicit real 0m3.898s real 0m3.085s > Resolving withLeafExports/4-8-direct real 0m16.508s real 0m13.793s > Resolving withLeafExports/4-8-implicit real 0m25.907s real 0m18.180s > Resolving withLeafExports/4-8-explicit real 0m21.393s real 0m15.844s > Resolving withLeafExports/9-2-direct real 0m13.992s real 0m10.750s > Resolving withLeafExports/9-2-implicit real 0m43.592s real 0m24.494s > Resolving withLeafExports/9-2-explicit real 0m26.019s real 0m17.589s > Resolving withAdditionalDepends/4-8-direct real 0m25.096s real 0m18.892s > Resolving withAdditionalDepends/4-8-implicit real 0m28.369s real 0m19.868s > Resolving withAdditionalDepends/4-8-explicit real 0m29.164s real 0m19.319s > Resolving withAdditionalDepends/9-2-direct real 0m19.110s real 0m17.264s > Resolving withAdditionalDepends/9-2-implicit real 0m20.887s real 0m19.269s > Resolving withAdditionalDepends/9-2-explicit real 0m18.359s real 0m18.149s > Resolving 9-2-direct real 0m2.500s > Resolving 9-2-implicit real 0m6.393s > Resolving 9-2-explicit real 0m3.833s real 0m2.326s _______________________________________________ Qbs mailing list Qbs@qt-project.org https://lists.qt-project.org/listinfo/qbs