Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 02 Jun 2013 19:15:57 +0200
From:      Florent Peterschmitt <florent@peterschmitt.fr>
To:        freebsd-hackers@freebsd.org
Subject:   Re: sed query
Message-ID:  <51AB7DCD.90104@peterschmitt.fr>
In-Reply-To: <CADLo838H6ikpO8mSh%2Bu6caZTRYfm56qMgq6%2Bzn2BJoVXZHSNdg@mail.gmail.com>
References:  <CADLo838JALaTwdSjy%2BV0JMHkbz1mD%2BezOq7a=dRzeNaSeUrDEg@mail.gmail.com> <20130602124127.6c3a847ea5ddb116a69d4814@yahoo.es> <CADLo838H6ikpO8mSh%2Bu6caZTRYfm56qMgq6%2Bzn2BJoVXZHSNdg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2OXNLHBMCPGIXBUFVWDBJ
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Le 02/06/2013 14:16, Chris Rees a =E9crit :
> On 2 June 2013 11:41, Eduardo Morras <emorrasg@yahoo.es> wrote:
>> On Fri, 31 May 2013 15:01:59 +0100
>> Chris Rees <utisoft@gmail.com> wrote:
>>
>>> 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?
>>
>> Perhaps second one uses memory cache data? Run both twice and show us =
the second times.
>>
>=20
> Nope, same.
>=20
> [crees@pegasus]~% time sed -ne "s,^BitchX-[0-9][^|]*[\|]/usr/por,,"
> /var/db/pkg/INDEX-9
> 4.703u 0.007s 0:04.85 96.9% 40+2732k 210+0io 0pf+0w
> [crees@pegasus]~% time sed -ne "s,^BitchX-[0-9][^|]*[\|]/usr/por,,"
> /var/db/pkg/INDEX-9
> 4.748u 0.007s 0:04.75 99.7% 40+2732k 0+0io 0pf+0w
>=20
> I also get the same on head;
>=20
> [crees@medusa]~% time sed -ne "s,^BitchX-[0-9][^|]*[\|]/usr/por,,"
> /var/db/pkg/INDEX-10
> 7.813u 0.015s 0:07.96 98.2% 40+183k 0+0io 0pf+0w
> [crees@medusa]~% time sed -ne "s,^BitchX-[0-9][^|]*[\|]/usr/po,,"
> /var/db/pkg/INDEX-10
> 0.070u 0.000s 0:00.07 100.0% 45+205k 0+0io 0pf+0w
> [crees@medusa]~% uname -a
> FreeBSD medusa 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r250009: Thu May
> 30 10:11:16 BST 2013     root@medusa:/usr/obj/usr/src/sys/MEDUSA
> amd64
>=20
> Chris

Yes I tried too on -current. And I tried also on GNU/Linux and there
isn't this problem. Is it gnu or bsd sed ?



------enig2OXNLHBMCPGIXBUFVWDBJ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQEcBAEBAgAGBQJRq33NAAoJEMtO2Sol0IImXpUH/i53OklcKPgFAfyAnZlZIbjj
+vXwrIC6OnnOieZlaLHaCZlD1Aip5mf+yzRsw56m2fyA3uj/fbf0LIqTMhsY3/k/
W+SrNkmUu/PDjFxLlNb9OOrt7zRqsIfqqgM5+C38S+ClvfIVDg47jfMbePooT5+A
8JCNLzIbjHZ8JN4gtVKRkJpW3qBwhVtVJnD5VGYamSeRLIenKt4+UWc3HVqDjNOp
es15m2+ZkT5UtQWiGZ3q8h1ujXD3d0P+tDx/PFSl1U9ZNrMH28JlQyI/sEpCl4U7
Tdhdmd7ge3RUL7w/tnESx3mnY2qlL40YyHodWIt2tHGAj4j7Xc2fUVHTRqoIJjQ=
=2tGp
-----END PGP SIGNATURE-----

------enig2OXNLHBMCPGIXBUFVWDBJ--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51AB7DCD.90104>