Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 May 2013 15:01:59 +0100
From:      Chris Rees <utisoft@gmail.com>
To:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   sed query
Message-ID:  <CADLo838JALaTwdSjy%2BV0JMHkbz1mD%2BezOq7a=dRzeNaSeUrDEg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi all,

I think I've discovered a strange behaviour of sed perhaps triggered
by the length of a regex passed to it.  I noticed that a certain
expression I passed took a very long time, and suspected the usual
backtracking loop, so I started trimming it... and discovered this:

[crees@pegasus]~% time sed -ne "s,^BitchX-[0-9][^|]*[\|]/usr/por,,"
/var/db/pkg/INDEX-9
4.699u 0.007s 0:04.70 99.7% 40+2733k 0+0io 0pf+0w
[crees@pegasus]~% time sed -ne "s,^BitchX-[0-9][^|]*[\|]/usr/po,,"
/var/db/pkg/INDEX-9
0.042u 0.000s 0:00.04 100.0% 48+3216k 0+0io 0pf+0w

I've looked at the code, and can't from a brief glance figure out why
a slightly longer regex makes such a difference-- does it start to
split it?

Chris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADLo838JALaTwdSjy%2BV0JMHkbz1mD%2BezOq7a=dRzeNaSeUrDEg>