Syntax Performance?

Have a suggestion for "Everything"? Please post it here.
Post Reply
zonetrooperex
Posts: 73
Joined: Tue Jun 10, 2014 4:06 pm

Syntax Performance?

Post by zonetrooperex »

Please consider adding more info to the 2 Help-> Syntax menu item windows.

It'd be so useful to know the be way for performance based off the order of search terms.

e.g. which is faster (or better)?

Code: Select all

*.exe nocase: len:>6 size:>1MB !C:\Windows !dupe: !install !unin !setup !vc_redist !vcredist !uni0nst !update !service !crashreport !\crashreporter\ !tray !\Installer\ !crashuploader !senddebug !Helper !Survey !\lang !\language!\locale !(x86)\ !32 !x32
OR

Code: Select all

*.exe !C:\Windows !dupe: !install !unin !setup !vc_redist !vcredist !uni0nst !update !service !crashreport !\crashreporter\ !tray !\Installer\ !crashuploader !senddebug !Helper !Survey !\lang !\language!\locale !(x86)\ !32 !x32 nocase: len:>6 size:>1MB
Does it matter?
therube
Posts: 4977
Joined: Thu Sep 03, 2009 6:48 pm

Re: Syntax Performance?

Post by therube »

As a start, make sure that you are indexing Size.
Tools -> Options -> Indexes

After that, I'd think that ordering would be rather negligible - for what you have there.
exe filters, the NOTs filter, so if you've already removed all but exe...
Where if you started with the NOTs & then added the exe later, there would be far more files to deal, initially...


Now it certainly can be that something like ext:exe is more efficient then *.exe, but others would have to tell you that.
zonetrooperex
Posts: 73
Joined: Tue Jun 10, 2014 4:06 pm

Re: Syntax Performance?

Post by zonetrooperex »

as of now I have it as:

Code: Select all

!C:\Windows !dupe: !<install|unin|setup|vc_redist|vcredist|uni0nst|update|service|crashreport|crashreporter|tray|Installer|crashuploader|senddebug|Helper|Survey|lang|language|locale|(x86)\|32|x32> nocase: len:>6 size:>1MB ext:exe
void
Developer
Posts: 16738
Joined: Fri Oct 16, 2009 11:31 pm

Re: Syntax Performance?

Post by void »

The following search will give the best performance:
*.exe nocase: len:>6 size:>1MB !dupe: !install !unin !setup !vc_redist !vcredist !uni0nst !update !service !crashreport !tray !Helper !Survey !senddebug !crashuploader !32 !x32 !C:\Windows !\crashreporter\ !\Installer\ !\lang !\language!\locale !(x86)\
Everything 1.4 and earlier, Everything executes search terms from left to right. Search terms on the left will be tested first, search terms on the right will be tested last.

*.exe - a simple "endwith" search for .exe
nocase: on its own will match everything. if you want to match nocase for all your search terms, you'll need to wrap your entire search with nocase:< your search goes here >
len:>6 - a very fast length match on the basename.
size:>1MB - if size information is indexed this will be very fast. (it should be indexed by default under Tools -> Options -> Indexes -> Index File Size)
!search - these are very fast basename match
!search with path separator - these are slower as Everything will need to build a full path.

For future versions of Everything, search terms will be weighted and reordered on performance, fast search terms will be executed first, slow search terms will be executed last, so in future releases, it wont matter what order you use.
zonetrooperex
Posts: 73
Joined: Tue Jun 10, 2014 4:06 pm

Re: Syntax Performance?

Post by zonetrooperex »

wonderful!

Thanks void. Lovely explanation :D
zonetrooperex
Posts: 73
Joined: Tue Jun 10, 2014 4:06 pm

Re: Syntax Performance?

Post by zonetrooperex »

@void any chance progress has been made on this for new versions?
void
Developer
Posts: 16738
Joined: Fri Oct 16, 2009 11:31 pm

Re: Syntax Performance?

Post by void »

Yes, its mostly done.

Searches will be weighted are reordered in Everything 1.5.
Post Reply