[Qbs] Improving qbs resolve performance

Christian Gagneraud chgans at gmail.com
Fri Aug 30 02:07:19 CEST 2019


On Fri, 30 Aug 2019 at 11:01, Jochen Ulrich <jochen.ulrich at clausmark.com> wrote:
> I want to follow up on this topic:

I had to check the archives and re-read the whole thread!

> I created scripts to generate a Qbs project of a specified size.
> Then, I created a few projects and measured the resolve time.

Nice one. Maybe it would be nice to automate the data collection, this
way it might be interesting to plot the various measurement versus
tree depth and/or child count and/or product count. Just to see if we
have something linear or logarithmic.
Or maybe that's a job for a C++ benchmark...

> Bottom line:
> Exporting dependencies significantly slows down the resolving.
> It is better to explicitly depend on the needed modules instead of having another module export the dependency.
> It’s a trade-off between having to write more “Depends” items vs. slower resolving.

Good to know, But the Export/Depends has definitely it's use, you
don't need to track nested dependencies.

Random thoughts:
Is it realistic a depth of 9?
Looking at your timings, it is still not clear where the bunch of the
time is spent for the "withLeafExports/9-2-implicit" use case.

Thanks,
Chris


More information about the Qbs mailing list