Find My Files
Windowsにおける爆速ファイル検索アプリの定番といえば、Everythingです。

その高速さの理由は、NTFSの仕組みをうまく活用していることにあります。Windowsで一般的に使われているNTFSには、ファイル情報を管理するマスターファイルテーブル(MFT)と、ファイルシステムの変更履歴を記録するUSN Journalがあります。Everythingはこれらを利用することで、初回に高速にファイル一覧を構築し、その後はUSN Journalを監視してリアルタイムにインデックスを更新しています。そのため、数百万ファイル規模の環境でも非常に高速な検索を実現しています。
もちろん、単純にファイル名やパスを保持するだけでは、大量のメモリを消費してしまいます。また、数百万件ものファイルから一瞬で目的のものを見つけるためには、メモリ効率の高いデータ構造や高速な検索アルゴリズムなど、さまざまな工夫が必要になります。
このように、Everythingは見た目こそシンプルですが、中身はかなり高度なことをやっているソフトウェアです。
なお、EverythingはMITライセンスを採用していますが、公開されているのはSDKなど一部のコンポーネントのみで、アプリケーション本体のソースコードは公開されていません。
一方で、UIはどちらかというと昔ながらのWindowsアプリという印象で、機能性を重視したデザインになっています。
そこで、「Windows 11らしいFluent DesignのUIで、Everythingのような体験を実現したら面白いのでは」と思い、find my filesというプロジェクトを作りました。
コア部分はRustで実装しています。
ぜひ使ってみてください!