On Mon, May 12, 2014 at 12:36:12AM +0100, Dimitris Papastamos wrote:
> On Mon, May 12, 2014 at 12:34:36AM +0200, FRIGN wrote:
> > Hello,
> > 
> > previously, we allocated one regex_t for each pattern found.
> > This gets pretty nasty once the tree of patterns grows.
> > Reusing one regex_t and regfreeing it after each use inside grep()
> > implies just one simultaneous element in memory and a drastic decrease
> > in memory-consumption.
> > 
> > Please let me know what you think!
> 
> Applied, thanks.
> 
> Note that I am not aware of real-life cases where so many -e options
> are set in order for this to make a "drastic" decrease in memory consumption.
> 
> I like the code though and it feels simpler.

BTW I forgot to mention, the initial thought was to pre-compile the regexes
once and then use the compiled one for all matches.

The memory-decrease is constant really.  You are still at O(n) in
regards to the number of search-patterns.

It seems that with your patch, on large inputs it seems that the it is 
approximately
3 times slower than the previous patch.

We should probably re-think our options here.

Reply via email to