7 倍速 同じホームフォルダで GrandPerspective と比較

Mac の容量を何が占めているか。
数分ではなく、数秒でわかる。

Layland はディスクをスキャンして、すべてのファイルを、使っている容量に比例したブロックとして描きます。忘れていた 38 GB の仮想マシンも、ひと目で見つかります。330 万ファイルのホームフォルダでも 14 秒です。

14 日間、理由を問わず返金します

macOS 15 Sequoia 以降 · Apple silicon と Intel · ネイティブの Swift

150 万ファイル、54 GB の開発フォルダをクッション型ツリーマップで表示した Layland。ファイルの種類ごとに色分けされ、サイドバーには凡例とスキャンの詳細

よくある悩み

「ディスクがほぼいっぱいです」
何でいっぱいなのか?

Finder はフォルダをリストで見せますが、リストではサイズがわかりません。ストレージの設定はディスクの半分を「システムデータ」にまとめて、それきりです。du はホームフォルダをたどるだけで 1 分以上かかり、そのうえ数字の山を吐き出すだけです。

ツリーマップなら、ディスク全体が一画面に収まります。ファイルはそれぞれ使っている容量に比例したブロックになり、フォルダはそのブロックを束ねたブロックになります。大きいものは、そのまま大きく見えます。忘れていた Xcode のシミュレータ、22 GB の Docker イメージ、2023 年に納品したプロジェクトのレンダリングファイル。見つけたら、あとは片付けるだけです。

見どころ

ウインドウ一つで、ディスク全体を

同じフォルダを Jewel パレットで最終更新日ごとに色分けした画面。大半は何年も手つかずの青と紫で、最近の作業は赤とオレンジ
更新日で色分け。暖色は最近変更されたもの、寒色は何年も手つかずのもの。忘れていた古いものがすぐに見つかります。
2 TB のディスクのうち、395 GB のホームフォルダと、斜線で示した空き容量とディスクのほかの部分。ホームフォルダは右下を占めている
Show Free Space(空き容量を表示)。スキャンしたフォルダを、空き容量やディスクのほかの部分と並べて、すべて同じ縮尺で表示します。この例は 2 TB のディスクにある 395 GB のホームフォルダです。
.zip で検索した画面。zip アーカイブがそれぞれの色で光り、ほかはすべて暗くなっていて、ステータスバーには 6,323 件の一致
検索。名前の一部、ここでは .zip を入力すると、一致しないものがすべて暗くなります。数百万のファイルがあっても、かかるのは約 50 ms です。
同じ開発フォルダを拡張子でグループ化した画面。ファイルの種類ごとに一つのブロックがあり、画像はピンク、ソースコードは青緑、アーカイブはオレンジで、それぞれが拡張子ごとに分かれている
拡張子でグループ化。View ▸ Group By ▸ File Extension を選ぶと、どこにあるファイルも種類ごと、さらに拡張子ごとにまとまります。すべての動画や、すべての .zip が一つのブロックになります。

スピード

GrandPerspective の 7 倍速。

ほかのディスクツールは、コーヒーを淹れに行けるほど待たせるので、スキャンが終わるころにはもう興味が失せています。Layland なら、気になったときにいつでも気軽に走らせられます。以下は実測です。ホームフォルダ全体、332 万ファイルのスキャンを 10 倍速で再生しています。

~ · 332 万ファイル · 50 万フォルダ
Layland 0.0 s
du -sk 0.0 s
GrandPerspective 0.0 s
フォルダファイル数フォルダ数GrandPerspectiveLayland速さ
~/dev155 万23.4 万42.2 秒6.3 秒6.7 倍
~/Library89.2 万12.6 万31.2 秒4.3 秒7.2 倍
~(ホーム)332 万50 万97.5 秒14.2 秒6.9 倍

MacBook Pro、Apple silicon、8 コア、24 GB。macOS 26.6、内蔵 SSD の APFS、キャッシュが温まった状態で、両方のアプリにフルディスクアクセスを許可。GrandPerspective 3.8.1 はソースからビルドし、Web サイトで配布されている版と同じくサンドボックスなしで動かして、アプリ自身のログ出力で計測しました。どちらのアプリも同じフォルダ数を報告しています。

仕組み

なぜここまで速いのか

依存ライブラリのない、ネイティブの Swift で書かれています。スキャンの速さを決めるのは CPU ではなく SSD が応答する速さなので、Layland はスキャンのあいだずっと SSD を休ませません。

  1. 1

    システムコール 1 回で、ファイルをまとめて

    getattrlistbulk(2) は、ディレクトリのエントリを、種類、サイズ、inode、フラグまで含めてまとめて一度に返します。ファイルごとの stat も、FileManager も、URL オブジェクトも要りません。

  2. 2

    たくさんのフォルダを同時に読む

    フォルダはそれぞれキューに積まれた作業になり、コアあたり 4 本ほどのスレッドプールがそれを処理するので、SSD には常にいくつものリクエストが待っています。du との差の大半はここから生まれます。

  3. 3

    パスをたどり直さない

    各フォルダは親フォルダを基準に openat で開くので、システムは毎回フルパスを解決する代わりに、名前を一つ引くだけで済みます。

  4. 4

    コンパクトなファイルツリー

    ファイルやフォルダは、一つの平らな配列に並んだ 48 バイトのレコードで、名前はすべて一つのバッファにまとめてあります。380 万エントリが約 180 MB に収まり、スキャン中のメモリ確保も参照カウントも一切ありません。

  5. 5

    Finder と一致する合計

    ハードリンクは一度だけ数えます。スキャンは一つのボリュームの中にとどまり、/Users のような APFS のファームリンクはたどるので、/ をスキャンすると合計が Finder の表示と一致します。

機能

「これ全部なに?」から「片付いた」まで、数クリックで

フォルダの境目が見える陰影

クッションシェーディングで各フォルダにゆるやかなふくらみをつけるので、線で区切らなくても、フォルダがどこから始まりどこで終わるかがわかります。強さは View ▸ Cushion Strength で Flat、Subtle、Normal、Strong から選べます。

種類別、または古さで色分け

動画、アーカイブ、コード、写真にはそれぞれ専用の色。あるいは最終更新日で、今日から 5 年以上前まで色分けすれば、何年も触っていないものが見つかります。

ディスクの埋まり具合を見る

Show Free Space を選ぶと、空き容量と、スキャンしたフォルダの外にあるすべてがマップに加わります。そのフォルダがディスク全体のどれだけを占めているかが見えます。

数百万のファイル名を検索

ファイル名の一部を入力すると、それ以外はすべて暗くなります。数百万のファイルがあっても約 50 ms です。一致するものを含むフォルダも明るく表示されます。⌘G で次の一致へ移動します。

見てから、片付ける

スペースキーを押せば、どのファイルもクイックルックでプレビューできます。マップを離れずに Finder で表示したり、ゴミ箱に入れたりもできます。確認なしに削除されることはありません。

キーボードだけで操作

矢印キーで隣のブロックへ移動します。⌘[ で一つ上のフォルダを、⌘] でその中の最大の項目を選べるので、数回のキー操作でいちばん大きなファイルまでたどり着けます。

スキャンを保存して、すぐに開き直す

.layland ファイルは圧縮されていて、380 万ファイルのホームフォルダでも 64 MB で保存でき、0.3 秒で開き直せます。あとで見返すときに、スキャンし直す必要はありません。

自分好みの配色

5 種類の内蔵パレットから選ぶことも、ライブエディタで自分で作ることもできます。エディタでは色を選ぶあいだ、すべてのカテゴリを使ったサンプルが表示されます。パレットはいくつでも保存できます。

リサイズしてもカクつかない

マップのレイアウトと描画はバックグラウンドで行います。380 万ファイルのレイアウトは約 50 ms。ウインドウの端をドラッグしているあいだは直前の画像が伸縮して追従するので、固まることはありません。

プライバシー

ファイルの一覧は、Mac の外に出ません。

Layland が読むのはファイル名、サイズ、日付だけです。ファイルを開くことはなく、送る先もありません。アカウントも、アクセス解析も、クラッシュレポーターもありません。

通信は 2 種類だけで、どちらにもファイルについての情報は含まれません。ライセンスキーを入力すると、そのキーが有効かを Gumroad に確認し、以後はおよそ月に一度確認します。そして、尋ねられたときに許可していれば、1 日に一度このサイトで新しいバージョンを確認します。

~/Library にあるほかのアプリのデータまで含めてすべてを見るには、システム設定で Layland にフルディスクアクセスを許可してください。許可しない場合、Layland は macOS が読むことを認めたフォルダだけを計測し、デスクトップ、書類、ダウンロードを読む前には確認を求めます。

プライバシーポリシーの全文も短いものです。ソースコードも公開しているので、どれも言葉をそのまま信じてもらう必要はありません。

価格

スキャンは無料。すべての名前を見るなら、買い切りで。

無料版でも、どのフォルダやディスクでもスキャンでき、マップ全体が描かれます。ライセンスがあれば、片付けに必要な詳細まで見られます。

14 日間、理由を問わず返金します

無料

$0

期間の制限なし、アカウント不要

  • どのフォルダ、ディスク、外付けドライブでもスキャン
  • 完全なツリーマップを、フルスピードで
  • フォルダ名は 2 階層まで
  • 種類別・古さ別の色分けと、すべてのパレット
  • 空き容量の表示
ダウンロード

ライセンスキーはメールで届きます。Layland ▸ License に貼り付ければ、その場ですべての機能が使えるようになります。14 日間、理由を問わず返金します。ソースコードは公開しているので、読むことも、自分でビルドすることもできます。

FAQ

よくある質問

GrandPerspective、DaisyDisk、Disk Inventory X とはどう違うのですか?

考え方は同じです。GrandPerspective と Disk Inventory X もツリーマップを描き、DaisyDisk はリング状に描きます。違いは速さです。同じホームフォルダで、GrandPerspective が 97 秒かかるところを Layland は 14 秒で終えます。そのほかは細部の違いで、クッションシェーディング、更新日による色分け、空き容量の表示、高速な検索、そしてカクつかないリサイズです。

なぜフルディスクアクセスが必要なのですか?

必須ではありません。ただ、許可しないと macOS は ~/Library の一部やほかのアプリのコンテナを見せてくれず、容量が消えた先はたいていそこです。フルディスクアクセスがあれば、Layland の合計は Finder と一致します。アプリが読むのは名前、サイズ、日付だけです。

削除もできますか?

ライセンスがあれば、ファイルをゴミ箱に入れられます。ファイルを選んで Item ▸ Move to Trash を選び、確認するだけです。完全に削除することはないので、いつもどおりゴミ箱から元に戻せます。

外付けドライブやネットワークボリュームでも使えますか?

使えます。ドライブか、その中の好きなフォルダを選んでください。スキャンは選んだボリュームの中にとどまり、ほかにマウントされているドライブには入らないので、数字はそのドライブだけのものです。

Mac App Store のアプリですか?

まだです。このサイトから直接配布していて、Apple Developer ID で署名し、Apple による公証を受けています。サンドボックス対応の App Store 版も予定しています。

どの Mac で動きますか?

macOS 15 Sequoia 以降の Mac なら、Apple silicon でも Intel でも動きます。たくさんのリクエストを同時に出して SSD を休ませない作りなので、いちばん速いのは内蔵 SSD です。

ソースコードは見られますか?

見られます。FSL-1.1-ALv2 で公開していて、各リリースから 2 年後に Apache 2.0 になります。github.com/daformat/layland で読むことも、自分でビルドすることもできます。

キーを購入したのに見つかりません。

購入時の領収書メールと、Gumroad のライブラリの Layland の項目にあります。

容量を食っているものを、14 秒で見つける。

ダウンロードして、ホームフォルダを選び、自分の目で確かめてください。

14 日間、理由を問わず返金します