On Apr 11, 2025, at 19:28, Mark Millard <mark...@yahoo.com> wrote:
> 
>> NOTE on something newly noticed while preparing this
>> (a top post to keep it separate):
>> 
> . . .
> NOTE on something newly noticed while preparing this
> (a top post to keep it separate):
> 
> In looking to provide more detailed timing comparisons with
> pkg 2.0.6 I noticed another context with a sizable delta
> timing difference for building the packages, here using
> www/rt50 as an example, just the one package being
> built in each case.
> 
> # poudriere ports -l
> PORTSTREE METHOD TIMESTAMP           PATH
> alt       null   2025-04-06 14:15:11 /usr/ports-alt
> default   null   2021-04-18 02:05:47 /usr/ports
> 
> . . .

The top-posted note was a dumb mistake on my part:

Only /usr/ports-alt/ has a partial "bulk -v -a"
set of materials. /usr/ports/ just has specific
tested items built, with their prerequsites. (I
do not have room on the media for two "bulk -a"
storage usages at once.)

So of course /usr/ports-alt/ has a lot  more involved
for its "Creating repository in /tmp/packages" and
takes a lot longer.

Time for me to try to get some sleep . . .

The originally intended content below still applies.

> 
> 
> Back to the originally intended content . . .
> 
> 
> On Apr 11, 2025, at 14:04, Mark Millard <mark...@yahoo.com> wrote:
>> 
>> On Apr 11, 2025, at 11:39, Mark Millard <mark...@yahoo.com> wrote:
>> 
>>> On Apr 7, 2025, at 08:14, Baptiste Daroussin <b...@freebsd.org> wrote:
>>> 
>>>> . . .
>>>> the problem we have is the
>>>> performance changes depending on what is happening in parallel on the 
>>>> machines.
>>> 
>>> In separate list messages I've provided multiple examples
>>> of the time-taking issue that do not depend on what is
>>> running in parallel on the machines, no parallel builds
>>> involved.
>>> 
>>> Part of the issue is that there are thousands of examples of
>>> "small build-step time" packages for which the build-depends,
>>> lib-depends, run-depends combination, takes notable time,
>>> given that the total time contribution across those thousands
>>> of package builds is notable overall.
>>> 
>>> As stands, mostly it is the early part of "bulk -c -a" avoids
>>> the issue via building packages that have no or few
>>> dependencies. Later "small build-step time" packages tend to
>>> have various dependencies, greatly changing the time scale
>>> for their builds. Few builds are of "large build-step
>>> time" packages (relative to there being 30000+ packages). That 
>>> has implications for there being 30000+ packages to build for
>>> "bulk -c -a" or other builds with large numbers of packages
>>> to try to build.
>>> 
>>>> which makes the performance issues invisible on local poudriere if you 
>>>> want to
>>>> test it on port A or port B,
>>> 
>>> I've provided counter examples to that that only involve the
>>> one builder, after the prerequisites have already been built
>>> (same or prior bulk run).
>>> 
>>>> if we want to reduce the performance penalty we
>>>> need to be able to make a reproducible case which can then be profiled, to 
>>>> know
>>>> where to optimize if needed.
>>> 
>>> I've provided examples of such . . .
>>> (time intervals shown are from the aarch64
>>> Windows Dev Kit 2023 with just the one
>>> builder active)
>>> 
>>> www/rt50
>>> build-depends: 00:00:27->00:08:46
> 
> More detailed comparison/contrast of non-parallel builds:
> 
> A pkg 2.0.6 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:01:11] [01] [00:00:00] Building   www/rt50 | rt50-5.0.7
> [00:01:14] [01] [00:00:03] Status     www/rt50 | rt50-5.0.7: check-sanity
> [00:01:14] [01] [00:00:03] Status     www/rt50 | rt50-5.0.7: pkg-depends
> [00:01:15] [01] [00:00:04] Status     www/rt50 | rt50-5.0.7: fetch-depends
> [00:01:15] [01] [00:00:04] Status     www/rt50 | rt50-5.0.7: fetch
> [00:01:15] [01] [00:00:04] Status     www/rt50 | rt50-5.0.7: checksum
> [00:01:15] [01] [00:00:04] Status     www/rt50 | rt50-5.0.7: extract-depends
> [00:01:15] [01] [00:00:04] Status     www/rt50 | rt50-5.0.7: extract
> [00:01:16] [01] [00:00:05] Status     www/rt50 | rt50-5.0.7: patch-depends
> [00:01:16] [01] [00:00:05] Status     www/rt50 | rt50-5.0.7: patch
> [00:01:16] [01] [00:00:05] Status     www/rt50 | rt50-5.0.7: build-depends
> [00:01:24] [01] [00:00:13] Status     www/rt50 | rt50-5.0.7: lib-depends
> [00:01:24] [01] [00:00:13] Status     www/rt50 | rt50-5.0.7: configure
> [00:01:26] [01] [00:00:15] Status     www/rt50 | rt50-5.0.7: build
> [00:01:26] [01] [00:00:15] Status     www/rt50 | rt50-5.0.7: run-depends
> [00:01:26] [01] [00:00:15] Status     www/rt50 | rt50-5.0.7: stage
> [00:01:29] [01] [00:00:18] Status     www/rt50 | rt50-5.0.7: package
> [00:01:50] [01] [00:00:39] Finished   www/rt50 | rt50-5.0.7: Success
> 
> A pkg 2.1.0 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:03:04] [06] [00:00:00] Building   www/rt50 | rt50-5.0.7
> [00:03:06] [06] [00:00:02] Status     www/rt50 | rt50-5.0.7: check-sanity
> [00:03:06] [06] [00:00:02] Status     www/rt50 | rt50-5.0.7: pkg-depends
> [00:03:07] [06] [00:00:03] Status     www/rt50 | rt50-5.0.7: fetch-depends
> [00:03:07] [06] [00:00:03] Status     www/rt50 | rt50-5.0.7: fetch
> [00:03:07] [06] [00:00:03] Status     www/rt50 | rt50-5.0.7: checksum
> [00:03:07] [06] [00:00:03] Status     www/rt50 | rt50-5.0.7: extract-depends
> [00:03:07] [06] [00:00:03] Status     www/rt50 | rt50-5.0.7: extract
> [00:03:07] [06] [00:00:03] Status     www/rt50 | rt50-5.0.7: patch-depends
> [00:03:08] [06] [00:00:04] Status     www/rt50 | rt50-5.0.7: patch
> [00:03:08] [06] [00:00:04] Status     www/rt50 | rt50-5.0.7: build-depends
> [00:16:26] [06] [00:13:22] Status     www/rt50 | rt50-5.0.7: lib-depends
> [00:16:26] [06] [00:13:22] Status     www/rt50 | rt50-5.0.7: configure
> [00:16:27] [06] [00:13:23] Status     www/rt50 | rt50-5.0.7: build
> [00:16:27] [06] [00:13:23] Status     www/rt50 | rt50-5.0.7: run-depends
> [00:16:28] [06] [00:13:24] Status     www/rt50 | rt50-5.0.7: stage
> [00:16:30] [06] [00:13:26] Status     www/rt50 | rt50-5.0.7: package
> [00:17:03] [06] [00:13:59] Finished   www/rt50 | rt50-5.0.7: Success
> 
> (That I got the 00:13:22 is interesting, given the prior
> 00:08:46. May be the A78C cores were used instead of the
> X1C cores? May be that there were no builds, just Inspecting
> activity for the prerequisites. Did I not match the USE_TMPFS
> settings? I expect that the general structural conclusions
> are not invalidated.)
> 
>>> devel/py-inline-snapshot@py311
>>> build-depends: 00:00:01->00:00:55
>>> run-depends:   00:00:56->00:01:47
> 
> A pkg 2.0.6 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:00:54] [04] [00:00:00] Building   devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1
> [00:00:54] [04] [00:00:00] Allowing MAKE_JOBS for 
> devel/py-inline-snapshot@py311 | py311-inline-snapshot-0.18.1
> [00:00:59] [04] [00:00:05] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: check-sanity
> [00:00:59] [04] [00:00:05] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: pkg-depends
> [00:00:59] [04] [00:00:05] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: fetch-depends
> [00:00:59] [04] [00:00:05] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: fetch
> [00:01:00] [04] [00:00:06] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: checksum
> [00:01:00] [04] [00:00:06] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: extract-depends
> [00:01:00] [04] [00:00:06] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: extract
> [00:01:00] [04] [00:00:06] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: patch-depends
> [00:01:00] [04] [00:00:06] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: patch
> [00:01:00] [04] [00:00:06] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: build-depends
> [00:01:01] [04] [00:00:07] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: lib-depends
> [00:01:01] [04] [00:00:07] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: configure
> [00:01:01] [04] [00:00:07] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: build
> [00:01:02] [04] [00:00:08] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: run-depends
> [00:01:03] [04] [00:00:09] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: stage
> [00:01:03] [04] [00:00:09] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: package
> [00:01:04] [04] [00:00:10] Finished   devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.18.1: Success
> 
> A pkg 2.1.0 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:02:46] [02] [00:00:00] Building   devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8
> [00:02:46] [02] [00:00:00] Allowing MAKE_JOBS for 
> devel/py-inline-snapshot@py311 | py311-inline-snapshot-0.20.8
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: check-sanity
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: pkg-depends
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: fetch-depends
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: fetch
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: checksum
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: extract-depends
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: extract
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: patch-depends
> [00:02:47] [02] [00:00:01] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: patch
> [00:02:48] [02] [00:00:02] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: build-depends
> [00:03:59] [02] [00:01:13] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: lib-depends
> [00:03:59] [02] [00:01:13] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: configure
> [00:03:59] [02] [00:01:13] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: build
> [00:04:00] [02] [00:01:14] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: run-depends
> [00:05:27] [02] [00:02:41] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: stage
> [00:05:28] [02] [00:02:42] Status     devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: package
> [00:05:28] [02] [00:02:42] Finished   devel/py-inline-snapshot@py311 | 
> py311-inline-snapshot-0.20.8: Success
> 
> (Again longer 2.1.0 times vs. previous 2.1.0 times.)
> 
>>> 
>>> mail/mailest@nox
>>> build-depends: 00:00:01->00:00:28
>>> run-depends:   00:00:30->00:00:59
> 
> A pkg 2.0.6 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:00:58] [01] [00:00:00] Building   mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21
> [00:00:59] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: check-sanity
> [00:00:59] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: pkg-depends
> [00:00:59] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: fetch-depends
> [00:00:59] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: fetch
> [00:00:59] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: checksum
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: extract-depends
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: extract
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: patch-depends
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: patch
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: build-depends
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: lib-depends
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: configure
> [00:01:00] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: build
> [00:01:03] [01] [00:00:05] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: run-depends
> [00:01:08] [01] [00:00:10] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: stage
> [00:01:09] [01] [00:00:11] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: package
> [00:01:09] [01] [00:00:11] Finished   mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: Success
> 
> A pkg 2.1.0 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:02:50] [01] [00:00:00] Building   mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: check-sanity
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: pkg-depends
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: fetch-depends
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: fetch
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: checksum
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: extract-depends
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: extract
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: patch-depends
> [00:02:51] [01] [00:00:01] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: patch
> [00:02:52] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: build-depends
> [00:02:52] [01] [00:00:02] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: lib-depends
> [00:03:31] [01] [00:00:41] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: configure
> [00:03:31] [01] [00:00:41] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: build
> [00:03:32] [01] [00:00:42] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: run-depends
> [00:04:08] [01] [00:01:18] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: stage
> [00:04:08] [01] [00:01:18] Status     mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: package
> [00:04:09] [01] [00:01:19] Finished   mail/mailest@nox | 
> mailest-emacs_nox-0.9.24_21: Success
> 
> (Again longer 2.1.0 times vs. previous 2.1.0 times.)
> 
>>> 
>>> devel/dwarves
>>> build-depends: 00:00:05->00:02:23
>>> lib-depends:   00:02:23->00:02:42
> 
> A pkg 2.0.6 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:00:56] [07] [00:00:00] Building   devel/dwarves | dwarves-1.19_3
> [00:01:01] [07] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> check-sanity
> [00:01:01] [07] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> pkg-depends
> [00:01:01] [07] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> fetch-depends
> [00:01:01] [07] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: fetch
> [00:01:01] [07] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: checksum
> [00:01:01] [07] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> extract-depends
> [00:01:01] [07] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: extract
> [00:01:02] [07] [00:00:06] Status     devel/dwarves | dwarves-1.19_3: 
> patch-depends
> [00:01:02] [07] [00:00:06] Status     devel/dwarves | dwarves-1.19_3: patch
> [00:01:02] [07] [00:00:06] Status     devel/dwarves | dwarves-1.19_3: 
> build-depends
> [00:01:07] [07] [00:00:11] Status     devel/dwarves | dwarves-1.19_3: 
> lib-depends
> [00:01:08] [07] [00:00:12] Status     devel/dwarves | dwarves-1.19_3: 
> configure
> [00:01:08] [07] [00:00:12] Status     devel/dwarves | dwarves-1.19_3: build
> [00:01:13] [07] [00:00:17] Status     devel/dwarves | dwarves-1.19_3: 
> run-depends
> [00:01:13] [07] [00:00:17] Status     devel/dwarves | dwarves-1.19_3: stage
> [00:01:13] [07] [00:00:17] Status     devel/dwarves | dwarves-1.19_3: package
> [00:01:14] [07] [00:00:18] Finished   devel/dwarves | dwarves-1.19_3: Success
> 
> A pkg 2.1.0 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:02:54] [05] [00:00:00] Building   devel/dwarves | dwarves-1.19_3
> [00:02:58] [05] [00:00:04] Status     devel/dwarves | dwarves-1.19_3: 
> check-sanity
> [00:02:58] [05] [00:00:04] Status     devel/dwarves | dwarves-1.19_3: 
> pkg-depends
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> fetch-depends
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: fetch
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: checksum
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> extract-depends
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: extract
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> patch-depends
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: patch
> [00:02:59] [05] [00:00:05] Status     devel/dwarves | dwarves-1.19_3: 
> build-depends
> [00:05:33] [05] [00:02:39] Status     devel/dwarves | dwarves-1.19_3: 
> lib-depends
> [00:06:07] [05] [00:03:13] Status     devel/dwarves | dwarves-1.19_3: 
> configure
> [00:06:07] [05] [00:03:13] Status     devel/dwarves | dwarves-1.19_3: build
> [00:06:12] [05] [00:03:18] Status     devel/dwarves | dwarves-1.19_3: 
> run-depends
> [00:06:12] [05] [00:03:18] Status     devel/dwarves | dwarves-1.19_3: stage
> [00:06:12] [05] [00:03:18] Status     devel/dwarves | dwarves-1.19_3: package
> [00:06:12] [05] [00:03:18] Finished   devel/dwarves | dwarves-1.19_3: Success
> 
> (Again longer 2.1.0 times vs. previous 2.1.0 times.)
> 
>> net-mgmt/fastnetmon
>> build-depends: 00:00:03->00:00:42
>> lib-depends:   00:00:42->00:01:29
> 
> A pkg 2.0.6 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:01:00] [02] [00:00:00] Building   net-mgmt/fastnetmon | fastnetmon-1.2.8
> [00:01:00] [02] [00:00:00] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> check-sanity
> [00:01:00] [02] [00:00:00] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> pkg-depends
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> fetch-depends
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> fetch
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> checksum
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> extract-depends
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> extract
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> patch-depends
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> patch
> [00:01:01] [02] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> build-depends
> [00:01:03] [02] [00:00:03] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> lib-depends
> [00:01:07] [02] [00:00:07] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> configure
> [00:01:10] [02] [00:00:10] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> build
> [00:03:15] [02] [00:02:15] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> run-depends
> [00:03:15] [02] [00:02:15] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> stage
> [00:03:15] [02] [00:02:15] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> package
> [00:03:18] [02] [00:02:18] Finished   net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> Success
> 
> A pkg 2.1.0 vintage of ports tree on Windows Dev Kit 2023:
> 
> [00:02:54] [06] [00:00:00] Building   net-mgmt/fastnetmon | fastnetmon-1.2.8
> [00:02:55] [06] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> check-sanity
> [00:02:55] [06] [00:00:01] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> pkg-depends
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> fetch-depends
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> fetch
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> checksum
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> extract-depends
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> extract
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> patch-depends
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> patch
> [00:02:56] [06] [00:00:02] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> build-depends
> [00:04:10] [06] [00:01:16] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> lib-depends
> [00:05:41] [06] [00:02:47] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> configure
> [00:05:44] [06] [00:02:50] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> build
> [00:07:43] [06] [00:04:49] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> run-depends
> [00:07:43] [06] [00:04:49] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> stage
> [00:07:44] [06] [00:04:50] Status     net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> package
> [00:07:46] [06] [00:04:52] Finished   net-mgmt/fastnetmon | fastnetmon-1.2.8: 
> Success
> 
> (Again longer 2.1.0 times vs. previous 2.1.0 times.)
> 
>> (See later below.)
>> 
>>> The timings are from the column next to
>>> the Building/Status/Finished column from
>>> using bulk -v , not from the column for
>>> the overall bulk run.
>>> 
>>>> I have tried to reproduce each individual case which happen in the ports 
>>>> tree
>>>> and I am not able to reproduce them, so impossible to know where to look at
>>>> exactly.
>>> 
>>> Try some of the examples that I've provided?
>>> 
>>> There are more examples that I could check
>>> and report non-parallel timings on if you
>>> want. I just picked to report on only a few
>>> initially.
>>> 
>>> An example that you might want is my
>>> providing more examples of lib-depends
>>> with non-parallel timings.
>> 
>> I took a quick look and quickly ran into:
>> (aarch64 Windows Dev Kit 2023 no-parallel-builders
>> timing again, after having built the prerequisites
>> that had not previously been built)
>> 
>> [00:11:37] [01] [00:00:00] Building   net-mgmt/fastnetmon | fastnetmon-1.2.8
>> [00:11:39] [01] [00:00:02] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: check-sanity
>> [00:11:39] [01] [00:00:02] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: pkg-depends
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: fetch-depends
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: fetch
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: checksum
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: extract-depends
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: extract
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: patch-depends
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: patch
>> [00:11:40] [01] [00:00:03] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: build-depends
>> [00:12:19] [01] [00:00:42] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: lib-depends
>> [00:13:06] [01] [00:01:29] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: configure
>> [00:13:09] [01] [00:01:32] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: build
>> [00:14:20] [01] [00:02:43] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: run-depends
>> [00:14:20] [01] [00:02:43] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: stage
>> [00:14:20] [01] [00:02:43] Status     net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: package
>> [00:14:22] [01] [00:02:45] Finished   net-mgmt/fastnetmon | 
>> fastnetmon-1.2.8: Success
>> 
>> (I still have thousands of packages that have not built
>> in the bulk -v -a build activity. The M4 MAX is in use
>> for that.)
>> 
>>>> I know what is new and what causes the performance penalty, but not
>>>> which part is causing the super extra penalty on the cluster.
>>> 
>>> Various examples reproduce the timing issues
>>> outside the cluster and without the parallel
>>> builds.
> 
> 


===
Mark Millard
marklmi at yahoo.com


Reply via email to