aboutsummaryrefslogtreecommitdiff
path: root/net-im/purple-mattermost
diff options
context:
space:
mode:
authorJoseph Mingrone <jrm@FreeBSD.org>2026-08-17 19:05:20 +0000
committerJoseph Mingrone <jrm@FreeBSD.org>2026-08-18 14:44:05 +0000
commitfafe12496ba6146c7155b5fc71642270a7b33926 (patch)
tree02282cb20946e39a39011d4bd1f441b807520825 /net-im/purple-mattermost
parentcc12e004f460f636a99589565f9e3eaa42fb8554 (diff)
Mk/Scripts/qa.sh: Filter baselibs() input to improve performanceHEADmain
After the baselibs() fix in f0f863b1a2d6, readelf is executed for each result from find(1). There are two concerns with this fix: 1. -exec readelf -d {} \; drops the filename from the error messages readelf prints "File: <name>" headers only when it is supplied with two or more files, and baselibs() uses ${file} from those headers. So, the two err() messages in baselibs() will break. This is moot for now, though, because nothing in the ports tree can trigger these errors. Those base soname versions for libarchive and libedit are long gone. 2. Performance hit with one readelf execution per staged file The costs are high for ports that stage many files. For emulators/linux_base-rl9, the find returns over 30k hits that the while loop must iterate over. It took about 15s for baselibs() to process these files on an i7-10710U build system. To fix these issues, use a filter similar to the one used by proxydeps(). This way, only ELF objects are fed to one instance of readelf, and the timing for baselibs() to process emulators/linux_base-rl9 drops to about 1.5s. PR: 296889 Reviewed by: portmgr (bapt) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58900
Diffstat (limited to 'net-im/purple-mattermost')
0 files changed, 0 insertions, 0 deletions