qa.sh is painfully slow when you have a large amount of files being
installed.
Ex: net-mgmt/observium
$ wc -l pkg-plist
8082 pkg-plist
There are a *lot* of text files in here. /usr/bin/file is painfully slow
to examine them in detail which makes the stage-qa process hang for an
unreasonable amount of time. In fact, I've delayed updating this port
because at one point I thought poudriere was hanging.
It appears we can solve this by telling file(1) to exclude doing
detailed analysis of ascii files when we're checking to see if there are
unstripped binaries.
My test results show the following results from /usr/bin/time:
Now:
558.37 real 557.25 user 1.24 sys
With this patch:
2.77 real 2.21 user 0.56 sys
Also piping find to xargs and using -n 20 -P 4 to run in parallel:
1.15 real 2.88 user 1.77 sys
It seemed that the xargs/parallel was not completely necessary, but does
provide a measurable boost if we want to go down this road.
We may want to exclude other tests besides ascii. I'll leave that up to
portmgr who knows better.