On 11/01/2012 11:06 AM, Christian Boltz wrote: > Hello, > > here's a patch that speeds up aa-decode - in my case from 1.9s to 0.3s > (test log with about 900 lines, with 16 encoded lines) > > The trick is to use bash regex matching instead of calling egrep for > each line. > > It would probably also be possible to replace the sed calls with bash > regex matching, but the savings would be minimal because typically > most lines are not encoded. > > BTW: Not having quotes arond the regex is intentional - with quotes > added, bash wouldn't take it as regex. > So I am fine with this if we are going to drop more generic shell compat and require bash. I know in the past we have tried to not require bash, but I am unsure how important that is atm
> > === modified file 'utils/aa-decode' > --- utils/aa-decode 2012-10-15 22:19:49 +0000 > +++ utils/aa-decode 2012-11-01 17:57:33 +0000 > @@ -70,7 +70,7 @@ > while read line ; do > > # check if line contains encoded name= or profile= > - if echo "$line" | egrep ' (name|profile)=[0-9a-fA-F]' >/dev/null ; then > + if [[ "$line" =~ \ (name|profile)=[0-9a-fA-F] ]]; then > > # cut the encoded filename/profile name out of the line and decode it > ne=`echo "$line" | sed 's/.* name=\([^ ]*\).*$/\\1/g'` > > > > > Regards, > > Christian Boltz > -- AppArmor mailing list AppArmor@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor