I updated QtC to version 4.12.3 (QBS 1.16.0). After that, parsing my project from scratch took 4-7 seconds. With this times  is possible to work quite comfortably. Thanks for speeding up! :)))

--
BR, Pavel Karelin


30.06.2020 18:09, Jochen Ulrich пишет:
Nice!
It brings a ~44% speed improvement in the problematic case according to your 
numbers:
Resolving withLeafExports/9-2-implicit
real    0m43.592s
real    0m24.494s

Thanks, Richard!

So for "medium" projects in terms of depth of the dependency tree, it's 
sensible to use transitive dependencies now:
withLeafExports/4-8-implicit:
real    0m18.180s
vs.
withAdditionalDepends/4-8-explicit:
real    0m19.319s

However, for "large" projects, the workaround still seems to be 25% faster:
withLeafExports/9-2-implicit:
real    0m24.494s
vs.
withAdditionalDepends/9-2-explicit:
real    0m18.149s


Best
Jochen
Am 30.06.20, 15:09 schrieb "Richard Weickelt" <rich...@weickelt.de>:

     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

_______________________________________________
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs

Reply via email to