When using freebsd-update it can take a long time to complete. I’ve been looking at ways of speeding it up.
During the update process, it’s not uncommon for it to download 50,000+ files one at a time! Lets fix that.
The update below will run 8 copies of phttpget in parallel. xargs takes care of making sure each instance of phttpget has it’s own unique list of files.
# man xargs ... -P maxprocs Parallel mode: run at most maxprocs invocations of utility at once. If maxprocs is set to 0, xargs will run as many processes as possible. ...
# ee /usr/sbin/freebsd-update ... fetch_setup_verboselevel () { case ${VERBOSELEVEL} in debug) QUIETREDIR="/dev/stderr" QUIETFLAG=" " STATSREDIR="/dev/stderr" DDSTATS=".." XARGST="-t" NDEBUG=" " ;; nostats) QUIETREDIR="" QUIETFLAG="" STATSREDIR="/dev/null" DDSTATS=".." XARGST="-P 8" # UPDATED << NDEBUG="" ;; stats) QUIETREDIR="/dev/null" QUIETFLAG="-q" STATSREDIR="/dev/stdout" DDSTATS="" XARGST="-P 8" # UPDATED << NDEBUG="-n" ;; esac } ...