Regex simple(?) optimization

Have a suggestion for "Everything"? Please post it here.
Post Reply
soduktile
Posts: 4
Joined: Tue Dec 22, 2009 5:03 pm

Regex simple(?) optimization

Post by soduktile »

It would be nice to be able to use Everything in regex mode but still get the better performance of non-regex for simple searches.

eg. Search of 'Music' (with Match Path) on my (slow Celeron) system with 590k files+dirs returns 17k in 670ms in non-regex mode and 5906ms in regex mode (using SDK dll via prolog scripting to simplify timing). Similarly, search of "Music Video" gives 445 in 500ms vs 6359ms (sans " in regex obviously).

The first example should be extremely simple to implement and is unambiguous.

The second example would involve a new string and is ambiguous if you don't remember which mode you are in.

I'm a big fan of Everything permanently in regex mode and was about to play around with MFT reading myself for some file tagging/virtual folder ideas when I spotted the SDK - Thanks.

Regards, Tony, Durban South Africa

Prolog code used on home-written interpreter (pretty self-evident even if you've never seen prolog before):

:- everything_Reset,
everything_SetSearch(music),
everything_SetRegex(true),
everything_SetMatchPath(true),
everything_Query,
everything_GetNumResults(N),
write(N),nl,
statistics.

:- everything_Reset,
everything_SetSearch(music),
everything_SetMatchPath(true),
everything_Query,
everything_GetNumResults(N),
write(N),nl,
statistics.

:- everything_Reset,
everything_SetSearch('Music Video'), % outer single
everything_SetRegex(true),
everything_SetMatchPath(true),
everything_Query,
everything_GetNumResults(N),
write(N),nl,
statistics.

:- everything_Reset,
everything_SetSearch('"Music Video"'), % outer single inner double
everything_SetMatchPath(true),
everything_Query,
everything_GetNumResults(N),
write(N),nl,
statistics.
void
Developer
Posts: 16735
Joined: Fri Oct 16, 2009 11:31 pm

Re: Regex simple(?) optimization

Post by void »

I have added implement optimized regex cases to my "Things to do" list.
Post Reply