7× швидше за GrandPerspective на тій самій домашній папці

Подивіться, що заповнює ваш Mac.
За секунди, а не за хвилини.

Layland сканує диск і малює кожен файл блоком, розмір якого відповідає зайнятому місцю. Віртуальну машину на 38 ГБ, про яку ви забули, видно з першого погляду. Домашня папка з 3,3 мільйона файлів сканується за 14 секунд.

14 днів на повернення коштів, без зайвих запитань

macOS 15 Sequoia або новіша · Apple silicon та Intel · Нативна програма на Swift

Layland показує папку з проєктами розробки на 54 ГБ, 1,5 мільйона файлів, як опуклу деревоподібну карту, розфарбовану за типами файлів; на бічній панелі легенда й подробиці сканування

Проблема

«Ваш диск майже заповнений».
Заповнений чим?

Finder показує папки списком, а в списку розміру не видно. Параметри сховища зараховують половину диска до «Системних даних», і на тому все. Команда du понад хвилину обходить домашню папку, а потім видає довжелезний стовпчик чисел.

Деревоподібна карта показує весь диск на одному екрані. Кожен файл є блоком, розмір якого відповідає зайнятому місцю, а кожна папка складається з блоків свого вмісту. Що більший файл, то більший блок. Ви помічаєте забуті симулятори Xcode, образ Docker на 22 ГБ, файли рендерингу з проєкту, який ви здали ще у 2023 році, і розбираєтеся з ними.

Докладніше

Одне вікно, увесь диск

Та сама папка, розфарбована за датою останньої зміни в палітрі Jewel: здебільшого сині й фіолетові блоки, яких роками ніхто не торкався, а свіжа робота червона й помаранчева
Кольори за давністю. Теплі кольори означають нещодавні зміни, холодні означають, що файлу роками ніхто не торкався. Старе й забуте легко помітити.
Домашня папка на 395 ГБ поруч із вільним місцем і рештою диска на 2 ТБ, показаними заштрихованими ділянками; сама домашня папка займає правий нижній кут
Show Free Space. Відскановану папку видно поруч із вільним місцем і рештою диска, усе в масштабі. Тут це домашня папка на 395 ГБ на диску об'ємом 2 ТБ.
Пошук .zip: кожен zip-архів підсвічено власним кольором, усе інше приглушено, у рядку стану 6 323 збіги
Пошук. Введіть частину назви, тут .zip, і все, що не підходить, тьмяніє. На це йде близько 50 мс навіть тоді, коли файлів мільйони.
Та сама папка розробки, згрупована за розширенням: по блоку на кожен вид файлів, зображення рожеві, вихідний код бірюзовий, архіви помаранчеві, і кожен блок поділено за розширеннями
Групування за розширенням. View ▸ Group By ▸ File Extension збирає всі файли за видом, а потім за розширенням, хоч би де вони лежали. Усі ваші відео чи кожен .zip стають одним блоком.

Швидкість

Усемеро швидше за GrandPerspective.

Поки інші програми для аналізу диска сканують, можна встигнути зварити каву, а коли вони нарешті закінчують, вам уже байдуже. Layland працює досить швидко, щоб запускати його щоразу, коли стало цікаво. Нижче справжні заміри: уся домашня папка, 3,3 мільйона файлів, відтворено в десятикратному прискоренні.

~ · 3,32 млн файлів · 500 тис. папок
Layland 0.0 s
du -sk 0.0 s
GrandPerspective 0.0 s
ПапкаФайлиПапкиGrandPerspectiveLaylandПрискорення
~/dev1,55 млн234 тис.42,2 с6,3 с6,7×
~/Library892 тис.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 увесь час тримає SSD зайнятим.

  1. 1

    Один системний виклик на цілу групу файлів

    getattrlistbulk(2) повертає цілу групу записів каталогу разом із типом, розмірами, inode і прапорцями за один раз. Тобто жодного stat для кожного файлу, жодного FileManager і жодних об'єктів URL.

  2. 2

    Багато папок читаються одночасно

    Кожна папка стає завданням у черзі, яку обслуговує пул потоків, приблизно по чотири на ядро, тож на SSD завжди чекає кілька запитів. Саме цьому Layland завдячує більшою частиною своєї переваги над du.

  3. 3

    Без розбору повних шляхів

    Кожна папка відкривається через openat відносно батьківської, тож система щоразу шукає лише одне ім'я, а не розбирає весь шлях від початку.

  4. 4

    Компактне дерево файлів

    Кожен файл чи папка займає 48-байтний запис в одному плоскому масиві, а всі імена зберігаються в спільному буфері. 3,8 мільйона записів вміщаються приблизно в 180 МБ, і під час сканування програма не виділяє пам'ять і не рахує посилань.

  5. 5

    Підсумки такі самі, як у Finder

    Жорсткі посилання рахуються один раз. Сканування не виходить за межі одного тому, а за firmlink-посиланнями APFS, як-от /Users, програма переходить, тож сканування / дає ту саму суму, що й Finder.

Можливості

Від «а це що таке?» до «вже немає» за кілька кліків

Затінення, у якому видно папки

Опукле затінення робить кожну папку ледь випуклою, тож видно, де папки починаються й закінчуються, без жодних ліній між ними. Силу затінення, Flat, Subtle, Normal або Strong, можна вибрати в View ▸ Cushion Strength.

Кольори за типом або за давністю

Відео, архіви, код і фото мають кожен свій колір. Або розфарбуйте карту за датою останньої зміни, від сьогодні до понад п'яти років тому, і знайдіть те, чого ви роками не торкалися.

Наскільки заповнений диск

Show Free Space додає на карту вільне місце і все, що лежить поза відсканованою папкою. Тоді видно, скільки місця забирає папка в масштабі всього диска.

Пошук серед мільйонів назв

Введіть частину назви файлу, і все інше тьмяніє приблизно за 50 мс, навіть коли файлів мільйони. Папки, у яких є збіг, теж підсвічуються. Натисніть ⌘G, щоб перейти до наступного.

Спершу подивіться, потім дійте

Натисніть пробіл, щоб переглянути будь-який файл у «Швидкому перегляді». Покажіть його у Finder або перемістіть у Смітник, не виходячи з карти. Без вашого підтвердження нічого не видаляється.

Усе з клавіатури

Стрілки переміщують виділення між сусідніми блоками. ⌘[ виділяє папку, у якій лежить елемент, а ⌘] найбільший елемент усередині, тож до найбільшого файлу можна докопатися за кілька натискань.

Збережене сканування відкривається миттєво

Файли .layland стиснуті: домашня папка з 3,8 мільйона файлів займає 64 МБ і знову відкривається за 0,3 секунди, тож до неї можна повернутися пізніше без повторного сканування.

Ваші кольори

Оберіть одну з п'яти вбудованих палітр або створіть власну в редакторі, який одразу показує зразок з усіма категоріями, поки ви обираєте кольори. Палітр можна зберегти скільки завгодно.

Вікно змінює розмір без ривків

Карта розкладається й малюється у фоні. 3,8 мільйона файлів розкладаються приблизно за 50 мс, а поки ви тягнете край вікна, попереднє зображення розтягується під новий розмір, тож нічого не зависає.

Приватність

Список ваших файлів лишається на вашому Mac.

Layland читає назви, розміри й дати файлів, і більше нічого. Програма не відкриває ваші файли, і їй нікуди їх надсилати. Немає ні акаунта, ні аналітики, ні звітів про збої.

Запити в мережу бувають лише двох видів, і жоден не містить нічого про ваші файли. Коли ви вводите ліцензійний ключ, програма питає Gumroad, чи він дійсний, а потім перепитує приблизно раз на місяць. І раз на день, якщо ви погодилися, коли вона спитала, перевіряє на цьому сайті, чи вийшла новіша версія.

Щоб бачити все, зокрема дані інших програм у ~/Library, надайте Layland «Повний доступ до диска» в «Системних параметрах». Без нього Layland вимірює лише ті папки, які дозволяє читати macOS, а перед тим як читати «Робочий стіл», «Документи» і «Завантаження», питає дозволу.

Політика приватності коротка. Код опубліковано, тож нічого з цього не треба брати на віру.

Ціна

Сканування безкоштовне. Одна оплата, і видно кожну назву.

Безкоштовна версія сканує будь-яку папку чи диск і малює повну карту. Ліцензія додає подробиці, які потрібні, щоб навести лад.

14 днів на повернення коштів, без зайвих запитань

Безкоштовно

0 $

Без обмеження в часі, без акаунта

  • Сканування будь-якої папки, диска чи зовнішнього накопичувача
  • Повна деревоподібна карта на повній швидкості
  • Назви папок на два рівні вглиб
  • Кольори за типом або давністю, усі палітри
  • Показ вільного місця
Завантажити

Ліцензійний ключ приходить електронною поштою. Вставте його в Layland ▸ License, і програма одразу розблокується. 14 днів на повернення коштів, без зайвих запитань. Код опубліковано, тож його можна також прочитати або зібрати програму самостійно.

Часті запитання

Запитання й відповіді

Чим Layland відрізняється від GrandPerspective, DaisyDisk чи Disk Inventory X?

Ідея спільна: GrandPerspective і Disk Inventory X теж малюють деревоподібні карти, а DaisyDisk малює кільця. Різниця у швидкості. На тій самій домашній папці Layland закінчує за 14 секунд, а GrandPerspective витрачає 97. Далі справа в деталях: опукле затінення, кольори за давністю, показ вільного місця, швидкий пошук і зміна розміру вікна без ривків.

Навіщо програмі «Повний доступ до диска»?

Можна обійтися й без нього, але тоді macOS приховує частину ~/Library і контейнери інших програм, а саме там найчастіше й ховаються гігабайти. З «Повним доступом до диска» підсумки Layland збігаються з тим, що показує Finder. Програма читає лише назви, розміри й дати.

Чи вміє Layland видаляти файли?

З ліцензією Layland переміщує файли в Смітник: виберіть файл, потім Item ▸ Move to Trash і підтвердьте. Остаточно програма нічого не видаляє, тож усе можна, як завжди, повернути зі Смітника.

Чи працює Layland із зовнішніми дисками й мережевими томами?

Так. Виберіть диск або будь-яку папку на ньому. Сканування не виходить за межі обраного тому й не заходить на інші підключені диски, тож цифри стосуються лише цього диска.

Чи є Layland у Mac App Store?

Поки що ні. Програма поширюється безпосередньо з цього сайту, підписана сертифікатом Apple Developer ID і нотаризована Apple. Версія для App Store, що працюватиме в пісочниці, є в планах.

На яких Mac працює Layland?

На будь-якому Mac з macOS 15 Sequoia або новішою, з Apple silicon чи Intel. Найшвидше програма працює на вбудованому SSD, бо створена, щоб завантажувати SSD багатьма запитами одночасно.

Чи можна подивитися код?

Так. Його опубліковано за ліцензією FSL-1.1-ALv2, яка через два роки після кожного випуску стає Apache 2.0. Читайте його або зберіть програму самі: github.com/daformat/layland.

Не можу знайти куплений ключ.

Він є в листі з чеком про покупку, а також у вашій бібліотеці Gumroad, у розділі Layland.

За 14 секунд знайдіть, що з'їдає місце.

Завантажте програму, відскануйте домашню папку й переконайтеся самі.

14 днів на повернення коштів, без зайвих запитань