I had planned release 1.1 even before the 1.0 release to address the noticibly long repository generation times, especially on older hardware with mechanical disks. I think the latest version should make people happy but definitely feedback is welcome.
I forgot to put it in the commit message, but [1] was going to refer to the horrible USES=compiler:features implementation that makes freebsd slow at scanning the ports tree.
Code:
ports-mgmt/synth: Upgrade version 1.03 => 1.10
This release addresses unacceptably long repository rebuild times for the
worst cases (FreeBSD [1], slow CPU, slow mechanical disk). Until now,
rebuilding the repository required a full tree scan (nearly 26k ports).
While I only saw around 4 minutes on a 4-year DragonFly machine equipped
with a SSD, others reported times exceeding 20 minutes.
This new method scans existing packages twice -- first to eliminate those
packages where the port was removed and also those with a mismatching
version (parallel). This sets up a second pass to serially and
recursively scan the ports of the remaining packages. That leads to the
final validation (same as previously done) and the actual repository
generation. Now the repository generation time is much shorter, but
corresponds to the number of build packages in the packages directory.
The long repository generation times were identified prior to the 1.0
release, but I targetted 1.1 for the enhancement.
I forgot to put it in the commit message, but [1] was going to refer to the horrible USES=compiler:features implementation that makes freebsd slow at scanning the ports tree.