Hi,Steve and Dan: Stephen Lau wrote: > Hi Jason, > >>> Hm. The command is run multiple times. I'd probably just find a >>> way to >>> not have to do that. Something like >>> >>> for dir; do >>> dirs="$dirs|$dir" >>> done >>> dirs=${dirs#|} >>> hg manifest | egrep "^($dirs)/.*/${pat#s.}\$" >>> >>> or something like that. I dunno if that'd actually do what needs to >>> happen >>> there. >> Yes, it is faster. >> Here is a time running: >> # pwd >> $SRC/uts >> >> # time flg.flp -r >> real 1m43.533s >> user 1m37.697s >> sys 0m8.441s >> >> It is running in my x4200, 2 times faster than before. >> >> And takes about 3 minutes in my DELL GX270. >> real 2m57.556s >> user 2m33.094s >> sys 0m12.130s >> >> Could we use "echo" to take the place "hg manifest".In my test,"echo" >> often faster than "hg manifest" a little bit. > > I'm not sure I understand what you mean here by replace "hg manifest" > with "echo"? It just replaced "hg manifest" with "echo", 1.put "FILELIST=`hg manifest`" once to setup a snapshot when it is "mercurial",E.g
SCM_MODE=`detect_scm` ...... if [[ $SCM_MODE == "unknown" ]];then ...... elif [ "$SCM_MODE" = "mercurial" ]; then codemgr_ws=`hg root 2>/dev/null` FILELIST=`hg manifest` <--------------- put all "hg manifest" result to FILELIST variable at the beginning of "mercurial judgement" else fail "No available SCM found" fi 2.then when try to "egrep " from the $FILELIST.E.g: for dir; do dirs="$dirs|$dir" done dirs=${dirs#|} echo "$FILELIST" | egrep "^($dirs)/.*/${pat#s.}\$" <------------------- Here,original one is 'hg manifest | egrep "^($dirs)/.*/${pat#s.}\$" ' In my test,"echo $FILELIST" is a little bit faster than "hg manifest" in my x4200 with the same "flg.flp -r" report. ############ with echo "$FILELIST" | egrep "^($dirs)/.*/${pat#s.}\$" ############## [root at sol-x4200-3]#time flg.flp -r real 0m55.189s user 0m46.166s sys 0m11.712s ########################################################################## ############ with "hg manifest | | egrep "^($dirs)/.*/${pat#s.}\$" ################## [root at sol-x4200-3]#time flg.flp -r real 1m43.686s user 1m37.640s sys 0m8.640s ########################################################################## Please correct me if something misunderstand. Thanks Jason