Mentioned script.
#!/bin/sh
#URL=http://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz # 34 .o files
#URL=https://mirrors.dotsrc.org/gnu/make/make-4.4.1.tar.gz
URL=https://mirrors.dotsrc.org/gnu/bash/bash-5.2.tar.gz # 193
#URL=https://mirrors.dotsrc.org/gnu/coreutils/coreutils-9.5.tar.gz # ~1859 .c
#URL=https://mirrors.dotsrc.org/gnu/binutils/binutils-2.43.1.tar.gz # ~2180 .c
FILE=$(basename $URL)
[ -f "$FILE" ] || wget $URL
DIR=${FILE/.tar.gz/}
[ -d "$DIR" ] || tar -xzf $FILE
(
nproc=$(nproc)
SUDO=$(command -v sudo)
cd $DIR
[ -f "config.status" ] || sh configure > configure.log 2>&1
uname -a
echo nproc: $nproc
echo
echo "# $DIR"
echo
##
s1=$(seq $((nproc)) $((nproc+3)) )
istep=$((nproc/4))
if [ $istep -gt 0 ]; then
s2=$(seq $((nproc+4)) $istep $((nproc*2)) )
fi
##
for j in $s1 $s2 " " ; do
#$SUDO echo 3 > /proc/sys/vm/drop_caches && sleep 1 # flush disk buffers if needed
make clean > /dev/null 2>&1
CMD="make -j$j V=0"
echo "make -j$j"
time eval $CMD > make.log 2>&1
echo
sleep $((j))
done
)