[Qbs] QBS script parsing speed

Карелин Павел hkarel at yandex.ru
Wed Jul 1 09:30:53 CEST 2020


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" <richard at 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 at qt-project.org
> https://lists.qt-project.org/listinfo/qbs

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20200701/c607ed91/attachment.html>


More information about the Qbs mailing list