On Mon, 15 May 2006, Morten Welinder wrote: > > If I read the code right, it calls regexec for every single character > on every single line. No wonder that takes a while! Just call it > once and it'll search for its match quite nicely. No, it calls it once per pattern per line. But yes, it calls it once per line, instead of calling it on some bigger boundary. Partly because of the line-based output, partly probably because regexec() is not actually amenable to a "<buffer,size>" kind of usage, but is based on NUL-terminated strings. > 1. If the pattern contains no regexp characters (and that is very > common), do a strstr. > > 2. If the pattern must start with a specific character, search for that > by itself. Yeah, we could do some simple stuff, and see if it helps.. Linus - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html