I know that pkg 2.1.2 and 2.1.0 and the use of pkg add
are not yet whatever the long term intent is. The
questions here are really about the long term intent.

But, in formulating the question, I'll use information
about existing pouriere(-devel) "bulk -c -a" behavior
(or similarly large overall builds) when based on use
of pkg 2.1.0 or later and the pkg add behavior for
the build-depends, lib-depends, and run-depends stages
of a package's build.

Overall question: In the end, will any part of the process
for "poudriere bulk -c -a" be worse than linear-time in
the number of local packages?


Why I ask . . .

As stands, with pkg 2.1.0 or later involved, building the
last 1/3rd of the packages appears to take longer than
building the first 2/3rds of the packages. This illustrates
the time taken for a package with dependencies is worse
than linear in the number of local packages already built
at the time.

beefy18 (main-amd64-default, so: latest) pkg 2.1.0:

36494 35892 162 95 345 0 done: Tue, 15 Apr 2025 01:22:32 GMT 292:07:47

(That is over 3 times longer than when pkg 2.0.6 was
in use. A debug kernel being involved seems to
contribute notably to the scale factor. But it is a
notable factor for non-debug kernels as well.)

In progress with pkg 2.1.2 in use, 2 example points:

36512 24889 86 114 339 11084 parallel_build: Tue, 29 Apr 2025 01:22:26 GMT 
155:58:19
36512 22222 79 ??? ??? 13758 parallel_build: Tue, 29 Apr 2025 01:22:26 GMT 
134:30:55

For an example of 2.1.0 vs. 2.1.2 times for 134amd64-default
(so, the non-debug kernel instead), pkg 2.1.2 then pkg 2.1.0
for beefy16:

36505 35999 80 104 322 0 done: Thu, 24 Apr 2025 07:24:46 GMT 159:17:19
36486 35978 72 110 326 0 done: Sat, 12 Apr 2025 01:05:21 GMT 167:34:49

So: similar time times frames. I expect similar to
292:07:47 for main-amd64-default with pkg 2.1.2 in
use as well. But it takes a long time to have the
specific evidence.


===
Mark Millard
marklmi at yahoo.com


Reply via email to