3月末に公開されたGitの最新版「Git 2.26」でGitのgrep機能がマルチスレッドに対応し、数倍高速化されていた事がわかりました(Phoronix)。
git-grepのマルチスレッド対応は、2019年のGoogle Summer of Codeに参加した学生の開発者Matheus Tavares氏によって行われたもので、1年の開発期間を経て2.26で完成したとのこと。
実はGitのgrep機能は2010年にマルチスレッドに対応していましたが、内部オブジェクトストアを対象としたときにパフォーマンスが低下したため無効化されていたそうです。
2.26の改良されたマルチスレッド対応コードによって、4コア/8スレッドシステムではgit-grepのパフォーマンスがオブジェクトストアを対象とした検索で、オリジナルバージョンと比較して3.34倍高速化し、オリジナル版でスレッドを有効にしたバージョンと比較すると約5倍高速化した模様。ワークツリーの検索も最大1.53倍は速くなったと説明されます。
具体的な改良方法やテストの詳細に関しては同氏のブログで詳しく説明されています。