everything是文件搜索程序。由于其作者尚未发布源代码,我想知道它是如何工作的。
- 它如何高效地索引文件?
- 它用于文件搜索的数据结构是什么?
- 如何快速搜索文件?
要引用其常见问题解答,
“ everything ”仅索引文件和文件夹名称,通常需要几秒钟来建立其数据库。全新安装Windows 10(大约120,000个文件)将花费大约1秒钟来编制索引。1,000,000个文件大约需要1分钟。
如果仅用一秒钟索引整个Windows 10,并且只用1分钟索引一百万个文件,这是否意味着它每秒可以索引120,000个文件?
为了快速搜索,必须有一个特殊的数据结构。在大多数情况下,按文件名搜索不仅从头开始搜索,而且从中间开始搜索。这使其成为一些广泛使用的索引结构,例如Trie
和Red–black tree
无效。
FAQ进一步阐明。
“ everything ”都会占用我的系统资源吗?
不,“所有”都使用很少的系统资源。全新安装的Windows 10(约120,000个文件)将使用约14 MB的ram和少于9 MB的磁盘空间。1,000,000个文件将使用大约75 MB的内存和45 MB的磁盘空间。