From: Mike Frysinger Date: Thu, 21 Jun 2007 23:42:52 +0000 (-0000) Subject: cache the result of --suffix to reduce testing overhead as suggested by Mr_Bones_ X-Git-Tag: v2.2_pre1~1196 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=22efe874cea08a376d745a64fb231d4ced330ce1;p=portage.git cache the result of --suffix to reduce testing overhead as suggested by Mr_Bones_ svn path=/main/trunk/; revision=6922 --- diff --git a/bin/ecompress b/bin/ecompress index 046e546fb..bf886e1c4 100755 --- a/bin/ecompress +++ b/bin/ecompress @@ -24,20 +24,23 @@ case $1 in --suffix) [[ -n $2 ]] && vecho "${0##*/}: --suffix takes no additional arguments" 1>&2 - set -e - tmpdir="${T}"/.ecompress$$.${RANDOM} - mkdir "${tmpdir}" - cd "${tmpdir}" - # we have to fill the file enough so that there is something - # to compress as some programs will refuse to do compression - # if it cannot actually compress the file - echo {0..1000} > compressme - ${PORTAGE_COMPRESS} ${PORTAGE_COMPRESS_FLAGS} compressme > /dev/null - suffix=$(ls compressme*) - suffix=${suffix#compressme} - cd / - rm -rf "${tmpdir}" - echo "${suffix}" + if [[ ! -e ${T}/.ecompress.suffix ]] ; then + set -e + tmpdir="${T}"/.ecompress$$.${RANDOM} + mkdir "${tmpdir}" + cd "${tmpdir}" + # we have to fill the file enough so that there is something + # to compress as some programs will refuse to do compression + # if it cannot actually compress the file + echo {0..1000} > compressme + ${PORTAGE_COMPRESS} ${PORTAGE_COMPRESS_FLAGS} compressme > /dev/null + suffix=$(ls compressme*) + suffix=${suffix#compressme} + cd / + rm -rf "${tmpdir}" + echo "${suffix}" > "${T}/.ecompress.suffix" + fi + cat "${T}/.ecompress.suffix" ;; --bin) [[ -n $2 ]] && vecho "${0##*/}: --bin takes no additional arguments" 1>&2