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 pkg 2.0.6 /usr/ports/ context/vintage (default): [00:01:51] Creating pkg repository Creating repository in /tmp/packages: 100% Packing files for repository: 100% [00:01:58] Committing packages to repository: / usr/local/poudriere/data/packages/release-aarch64-default/.real_1744418553 via .latest symlink So: an around 7 sec delta. pkg 2.1.0 /usr/ports-alt/ context/vintage (alt): [00:17:04] Creating pkg repository Creating repository in /tmp/packages: 100% Packing files for repository: 100% [00:20:34] Committing packages to repository: /usr/local/poudriere/data/packages/release-aarch64-alt/.real_1744419891 via .latest symlink So an around 210 sec delta. It is the same Windows Dev Kit 2023. It is the same boot media with 2 /usr/ports*/ trees. Prerequisites had been previously built for both. It is also the same jail: # poudriere jail -l JAILNAME VERSION OSVERSION ARCH METHOD TIMESTAMP PATH release-aarch64 14.2-RELEASE-p1 aarch64 pkgbase 2025-03-12 21:11:39 /usr/local/poudriere/jails/release-aarch64 Just "-p default" vs. "-p alt" being different on the command line. "Creating pkg repository" would not involve *-depend activity? More of a general I/O problem? May be a far more time consuming compression technique or some such? 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