pkg-config performance with >= 15 dependency chain

Sean Byland seanb at cray.com
Wed Jun 19 14:46:41 PDT 2013


I built a version of pkg-config 0.28 (rather than using the older default shipped with the OS, 0.23) and the performance seems to be much improved, taking 20 levels to get over a second (while doubling), but am still curious if anyone has performance optimizations or if there's a good way to do 30+ levels.

Thanks.
Sean B.

Bound #1 :

real 0m0.090s
user 0m0.000s
sys 0m0.000s
Bound #2 :

real 0m0.004s
user 0m0.000s
sys 0m0.000s
Bound #3 :

real 0m0.005s
user 0m0.000s
sys 0m0.000s
Bound #4 :

real 0m0.005s
user 0m0.000s
sys 0m0.000s
Bound #5 :

real 0m0.005s
user 0m0.000s
sys 0m0.000s
Bound #6 :

real 0m0.005s
user 0m0.000s
sys 0m0.000s
Bound #7 :

real 0m0.006s
user 0m0.000s
sys 0m0.000s
Bound #8 :

real 0m0.006s
user 0m0.000s
sys 0m0.000s
Bound #9 :

real 0m0.007s
user 0m0.000s
sys 0m0.000s
Bound #10 :

real 0m0.007s
user 0m0.000s
sys 0m0.000s
Bound #11 :

real 0m0.008s
user 0m0.004s
sys 0m0.000s
Bound #12 :

real 0m0.010s
user 0m0.000s
sys 0m0.004s
Bound #13 :

real 0m0.011s
user 0m0.004s
sys 0m0.000s
Bound #14 :

real 0m0.013s
user 0m0.008s
sys 0m0.004s
Bound #15 :

real 0m0.020s
user 0m0.004s
sys 0m0.008s
Bound #16 :

real 0m0.024s
user 0m0.020s
sys 0m0.000s
Bound #17 :

real 0m0.047s
user 0m0.044s
sys 0m0.000s
Bound #18 :

real 0m0.079s
user 0m0.076s
sys 0m0.000s
Bound #19 :

real 0m0.158s
user 0m0.140s
sys 0m0.016s
Bound #20 :

real 0m0.309s
user 0m0.280s
sys 0m0.024s
Bound #21 :

real 0m0.507s
user 0m0.472s
sys 0m0.032s
Bound #22 :

real 0m1.015s
user 0m0.932s
sys 0m0.072s
Bound #23 :

real 0m2.037s
user 0m1.892s
sys 0m0.132s
Bound #24 :

real 0m4.051s
user 0m3.744s
sys 0m0.276s
Bound #25 :

real 0m8.424s
user 0m7.772s
sys 0m0.572s

From: Sean Byland <seanb at cray.com<mailto:seanb at cray.com>>
Date: Wednesday, June 19, 2013 1:48 PM
To: "pkg-config at lists.freedesktop.org<mailto:pkg-config at lists.freedesktop.org>" <pkg-config at lists.freedesktop.org<mailto:pkg-config at lists.freedesktop.org>>
Subject: Re: pkg-config performance with >= 15 dependency chain

I should have referred to it as a dependency-tree. Each pc file requires every pc file higher in the sequence.
Thanks,
Sean B

From: Sean Byland <seanb at cray.com<mailto:seanb at cray.com>>
Date: Wednesday, June 19, 2013 1:40 PM
To: "pkg-config at lists.freedesktop.org<mailto:pkg-config at lists.freedesktop.org>" <pkg-config at lists.freedesktop.org<mailto:pkg-config at lists.freedesktop.org>>
Subject: pkg-config performance with >= 15 dependency chain

Hello,
This rudimentary script shows that pkg-config's performance when building a depended chain. It is extremely quick when the chain length is under 12, but seems to slow down exponentially becoming unacceptably slow after about 16. I know of some scientific libraries that have 50 length dependency chains . Is there a simple method to increase the performance and these longer lengths. I know all libraries for a single product could be put into a single pc file, but it seems like a shame to loose the single library "addressability" .

Thanks,
Sean B.

Bound #9 :

real 0m0.004s
user 0m0.000s
sys 0m0.004s
Bound #10 :

real 0m0.005s
user 0m0.004s
sys 0m0.000s
Bound #11 :

real 0m0.011s
user 0m0.008s
sys 0m0.004s
Bound #12 :

real 0m0.033s
user 0m0.028s
sys 0m0.000s
Name:1
Bound #13 :

real 0m0.128s
user 0m0.128s
sys 0m0.000s
Bound #14 :

real 0m0.513s
user 0m0.508s
sys 0m0.004s
Bound #15 :

real 0m2.179s
user 0m2.176s
sys 0m0.004s
Bound #16 :

real 0m10.153s
user 0m10.153s
sys 0m0.000s
Bound #17 :

real 0m42.787s
user 0m42.787s
sys 0m0.000s
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pkg-config/attachments/20130619/82710add/attachment.html>


More information about the pkg-config mailing list