Затенение, по которому видны папки
Объёмное затенение придаёт каждой папке мягкую выпуклость, и границы папок видны без всяких линий между ними. Силу затенения можно выбрать в View ▸ Cushion Strength: Flat, Subtle, Normal или Strong.
В 7 раз быстрее GrandPerspective на той же домашней папке
Layland сканирует диск и рисует каждый файл прямоугольником, площадь которого равна занятому месту. Забытая виртуальная машина на 38 ГБ видна с первого взгляда. Домашняя папка из 3,3 миллиона файлов сканируется за 14 секунд.
До 31 октября: $5,99 вместо $9,99 · возврат в течение 14 дней
Возврат в течение 14 дней, без лишних вопросов
macOS 15 Sequoia или новее · Apple silicon и Intel · Нативное приложение на Swift


В чём беда
Finder показывает папки списком, а по списку не видно, что сколько весит. Раздел «Хранилище» в настройках записывает половину диска в «Системные данные», и на этом объяснения заканчиваются. du обходит домашнюю папку больше минуты, а потом вываливает стену чисел.
Тримап, или древовидная карта, показывает весь диск на одном экране. Каждый файл здесь прямоугольник по размеру занятого места, а каждая папка складывается из прямоугольников своего содержимого. Что много весит, то и выглядит большим. Вы сразу замечаете забытые симуляторы Xcode, образ Docker на 22 ГБ и файлы рендера из проекта, сданного ещё в 2023 году, и разбираетесь с ними.
Поближе






.zip, и всё, что не подходит, потускнеет. На это уходит около 50 мс даже при миллионах файлов.

.zip превращаются в один блок.Скорость
Другие программы для анализа диска заставляют ждать так долго, что можно успеть сварить кофе, и к концу сканирования вам уже всё равно. Layland достаточно быстр, чтобы запускать его всякий раз, когда стало любопытно. Замеры настоящие: вся домашняя папка, 3,3 миллиона файлов, запись ускорена в десять раз.
~ · 3,32 млн файлов · 500 тыс. папок
du -sk
0.0 s
| Папка | Файлы | Папки | GrandPerspective | Layland | Во сколько раз быстрее |
|---|---|---|---|---|---|
~/dev | 1,55 млн | 234 тыс. | 42,2 с | 6,3 с | 6,7× |
~/Library | 892 тыс. | 126 тыс. | 31,2 с | 4,3 с | 7,2× |
~ (домашняя папка) | 3,32 млн | 500 тыс. | 97,5 с | 14,2 с | 6,9× |
MacBook Pro на Apple silicon, 8 ядер, 24 ГБ. macOS 26.6, APFS на встроенном SSD, прогретый кэш, у обоих приложений есть «Доступ ко всему диску». GrandPerspective 3.8.1 собран из исходников, без песочницы, как и версия с его сайта, а время взято из его собственной записи в журнале. Число папок оба приложения насчитывают одинаковое.
Как это устроено
Приложение написано на нативном Swift и обходится без зависимостей. Скорость сканирования упирается не в процессор, а в то, как быстро отвечает SSD, поэтому Layland не даёт ему простаивать ни на миг.
getattrlistbulk(2) за один раз возвращает пачку записей каталога с типом, размерами, inode и флагами. Значит, никакого stat для каждого файла, никакого FileManager и никаких объектов URL.
Каждая папка становится задачей в очереди, которую разбирает пул потоков, примерно по четыре на ядро, так что у SSD всегда ждут несколько запросов. Именно это даёт основную часть отрыва от du.
Каждая папка открывается через openat относительно родительской, поэтому система ищет одно имя за раз, а не проходит весь путь целиком снова и снова.
Каждый файл или папка хранится как 48-байтовая запись в одном плоском массиве, а все имена лежат в общем буфере. 3,8 миллиона записей умещаются примерно в 180 МБ, и во время сканирования нет ни выделений памяти, ни подсчёта ссылок.
Жёсткие ссылки учитываются один раз. Сканирование не выходит за пределы одного тома, но проходит по firmlink-ссылкам APFS вроде /Users, так что сканирование / даёт ту же сумму, что и Finder.
Возможности
Объёмное затенение придаёт каждой папке мягкую выпуклость, и границы папок видны без всяких линий между ними. Силу затенения можно выбрать в View ▸ Cushion Strength: Flat, Subtle, Normal или Strong.
У видео, архивов, кода и фотографий свой цвет. Или раскрасьте карту по дате последнего изменения, от сегодняшнего дня до «больше пяти лет назад», чтобы найти то, к чему вы годами не прикасались.
Show Free Space добавляет на карту свободное место и всё, что лежит за пределами просканированной папки. Тогда видно, чего стоит папка на фоне всего диска.
Введите часть имени файла, и всё остальное потускнеет, примерно за 50 мс даже при миллионах файлов. Папки, в которых есть совпадения, тоже подсвечиваются. ⌘G переходит к следующему.
Нажмите пробел, чтобы открыть любой файл в Быстром просмотре. Покажите его в Finder или переместите в Корзину, не уходя с карты. Без вашего подтверждения ничего не удаляется.
Стрелки переводят выделение на соседние прямоугольники. ⌘[ выделяет папку, в которой лежит элемент, а ⌘] самый крупный элемент внутри неё, так что до самого большого файла можно добраться за несколько нажатий.
Файлы .layland сжаты: домашняя папка из 3,8 миллиона файлов сохраняется в 64 МБ и снова открывается за 0,3 секунды, так что к ней можно вернуться позже, не сканируя заново.
Выберите одну из пяти встроенных палитр или создайте свою в редакторе, который, пока вы подбираете цвета, показывает образец со всеми категориями. Палитр можно сохранить сколько угодно.
Карта раскладывается и рисуется в фоне. 3,8 миллиона файлов раскладываются примерно за 50 мс, а пока вы тянете край окна, предыдущее изображение растягивается под новый размер, так что картинка никогда не замирает.
Приватность
Layland читает имена файлов, размеры и даты, и больше ничего. Сами файлы приложение не открывает, и отправлять их ему некуда. Нет ни аккаунта, ни аналитики, ни отчётов о сбоях.
В сеть приложение обращается за двумя вещами, и ни одно обращение не несёт ничего о ваших файлах. Когда вы вводите лицензионный ключ, оно спрашивает у Gumroad, действителен ли ключ, и потом повторяет проверку примерно раз в месяц. И раз в день, если вы согласились, когда оно спросило, проверяет на этом сайте, нет ли новой версии.
Чтобы видеть всё, включая данные других приложений в ~/Library, выдайте Layland «Доступ ко всему диску» в Системных настройках. Без него Layland измеряет только те папки, которые macOS разрешает читать, а перед тем как заглянуть в «Рабочий стол», «Документы» и «Загрузки», спрашивает разрешения.
Полная политика конфиденциальности короткая. Исходный код опубликован, так что ничему не нужно верить на слово.
Цена
Бесплатная версия сканирует любую папку или диск и рисует полную карту. Лицензия добавляет подробности, без которых не навести порядок.
До 31 октября: $5,99 вместо $9,99 · возврат в течение 14 днейВозврат в течение 14 дней, без лишних вопросов
$0
Без ограничения по времени, без аккаунта
$9,99 один раз
Платите один раз, без подписки
.laylandЛицензионный ключ приходит по почте. Вставьте его в Layland ▸ License, и приложение разблокируется сразу. Возврат в течение 14 дней, без лишних вопросов. Исходный код опубликован, так что его можно прочитать или собрать приложение самостоятельно.
Частые вопросы
Идея у них общая: GrandPerspective и Disk Inventory X тоже рисуют тримапы, а DaisyDisk рисует кольца. Разница в скорости. На одной и той же домашней папке Layland справляется за 14 секунд, а GrandPerspective тратит 97. Дальше дело в деталях: объёмное затенение, цвет по возрасту, показ свободного места, быстрый поиск и изменение размера окна без рывков.
Можно обойтись и без него, но тогда macOS прячет часть ~/Library и контейнеры других приложений, а место часто уходит именно туда. С «Доступом ко всему диску» итоги Layland сходятся с Finder. Приложение читает только имена, размеры и даты.
С лицензией можно перемещать файлы в Корзину: выделите файл, выберите Item ▸ Move to Trash и подтвердите. Безвозвратно приложение ничего не удаляет, так что всё можно вернуть из Корзины, как обычно.
Да. Выберите диск или любую папку на нём. Сканирование не выходит за пределы выбранного тома и не заходит на другие подключённые диски, так что цифры относятся только к этому диску.
Пока нет. Приложение распространяется прямо с этого сайта, подписано сертификатом Apple Developer ID и прошло нотаризацию у Apple. Версия для App Store, в песочнице, в планах.
На любом Mac с macOS 15 Sequoia или новее, с Apple silicon или Intel. Быстрее всего на встроенном SSD, потому что приложение устроено так, чтобы нагружать SSD множеством запросов одновременно.
Да. Он опубликован под лицензией FSL-1.1-ALv2, которая через два года после каждого выпуска становится Apache 2.0. Читайте его или соберите приложение сами: github.com/daformat/layland.
Он в письме с чеком о покупке и в вашей библиотеке Gumroad, в разделе Layland.
Скачайте, укажите домашнюю папку и убедитесь сами.
До 31 октября: $5,99 вместо $9,99 · возврат в течение 14 дней
Возврат в течение 14 дней, без лишних вопросов