lib/helpers: fix `all_groups()`

- Don't write to disk, just pipe.
- Don't loop, just do all functions.

Performance of old implementation on my system:
```
real    0m9.996s
user    0m5.318s
sys     0m9.126s
```

Performance of new implementation on my system:
```
real    0m0.052s
user    0m0.069s
sys     0m0.025s
```
pull/2018/head
John D Pell 2021-09-23 09:55:11 -07:00 committed by John D Pell
parent 973a1f9b40
commit 180fb93df8
1 changed files with 1 additions and 8 deletions

View File

@ -1039,14 +1039,7 @@ all_groups ()
about 'displays all unique metadata groups'
group 'lib'
typeset func
typeset file=$(mktemp -t composure.XXXX)
for func in $(_typeset_functions)
do
typeset -f $func | metafor group >> $file
done
cat $file | sort | uniq
rm $file
declare -f | metafor group | sort -u
}
if ! type pathmunge > /dev/null 2>&1