Yet another iteration of the tied algorithm: some packages contain
authorespie <espie@openbsd.org>
Mon, 6 Jun 2022 07:39:39 +0000 (07:39 +0000)
committerespie <espie@openbsd.org>
Mon, 6 Jun 2022 07:39:39 +0000 (07:39 +0000)
commitc6446ab5e573a97c8f28142a1eb83820ce9c4fb2
tree468d64da62b47a7cc8f8a3893e4d39e6e4cd50ec
parentaf6d27c882e9bb0a56055ac1cf090f8bb9b607e5
Yet another iteration of the tied algorithm: some packages contain
several hundred copies of the same file (even thousands! I'm looking at you
sdcc), so matching through a list is O(n^2).

So hash the hashes on the actual file name so that we match directly if
the same name file didn't change, and use the first entry otherwise, since
the name won't match.

speeds up updating of texlive somewhat, and makes a huge difference for sdcc.
usr.sbin/pkg_add/OpenBSD/PkgAdd.pm