cache the result of --suffix to reduce testing overhead as suggested by Mr_Bones_
authorMike Frysinger <vapier@gentoo.org>
Thu, 21 Jun 2007 23:42:52 +0000 (23:42 -0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 21 Jun 2007 23:42:52 +0000 (23:42 -0000)
svn path=/main/trunk/; revision=6922

bin/ecompress

index 046e546fbd808885d192db8e0ed4e2e868200895..bf886e1c40b44df848f30bdfed0363561ba7449b 100755 (executable)
@@ -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