everything是文件搜索程序。由于其作者尚未发布源代码,我想知道它是如何工作的。

  • 它如何高效地索引文件?
  • 它用于文件搜索的数据结构是什么?
  • 如何快速搜索文件?

要引用其常见问题解答,

everything ”仅索引文件和文件夹名称,通常需要几秒钟来建立其数据库。全新安装Windows 10(大约120,000个文件)将花费大约1秒钟来编制索引。1,000,000个文件大约需要1分钟。

如果仅用一秒钟索引整个Windows 10,并且只用1分钟索引一百万个文件,这是否意味着它每秒可以索引120,000个文件?

为了快速搜索,必须有一个特殊的数据结构。在大多数情况下,按文件名搜索不仅从头开始搜索,而且从中间开始搜索。这使其成为一些广泛使用的索引结构,例如TrieRed–black tree无效。

FAQ进一步阐明。

everything ”都会占用我的系统资源吗?

不,“所有”都使用很少的系统资源。全新安装的Windows 10(约120,000个文件)将使用约14 MB的ram和少于9 MB的磁盘空间。1,000,000个文件将使用大约75 MB的内存和45 MB的磁盘空间。