Вийшов bfs 4.0.7: Багатопотоковий пошук файлів з покращеннями

Вийшов bfs 4.0.7: Багатопотоковий пошук файлів з поліпшеннями

15 червня відбувся випуск 4.0.7 багатопотокової консольної утиліти пошуку файлів bfs (Breadth-First Search, пошук у ширину), написаної мовою C та поширюваної за ліцензією BSD. Ця версія приносить кілька важливих покращень у роботі утиліти та виправлень помилок.

Основні зміни у версії bfs 4.0.7

У новій версії багатопотокового пошуку файлів bfs розробники внесли такі покращення:

  • Для вибору кількості використовуваних потоків тепер використовується CPU affinity (sched_getaffinity(...) або xsysconf(_SC_NPROCESSORS_ONLN)).
  • -execdir /bin/... тепер дозволений навіть при відносному шляху у $PATH.
  • Тести більше не залежать від утиліти expect.
  • Для відповідності GNU find тепер тільки останній аргумент -files0-from має ефект.
  • Виправлена помилка -execdir {}, випадково додана в bfs 4.0.

Про утиліту пошуку файлів bfs

Утиліта bfs є потужним інструментом для багатопотокового пошуку файлів у системі. На відміну від стандартної утиліти find, bfs використовує алгоритм пошуку в ширину, що дозволяє ефективніше обробляти великі файлові системи.

Крім того, bagfs пропонує підвищену продуктивність завдяки багатопотоковості, що особливо корисно на сучасних багатоядерних системах. Утиліта написана на мові C та поширюється за ліцензією BSD, що робить її доступною для широкого кола користувачів.

Переваги використання пошуку в ширину

Алгоритм пошуку в ширину, який використовує bfs, має значні переваги для пошуку файлів:

  • Спочатку обробляються ближчі директорії, що часто видає результати швидше
  • Рівномірніше розподіляє навантаження між потоками
  • Зазвичай більш передбачуваний у поведінці

Завдяки цим особливостям, утиліта bfs стає незамінною для системних адміністраторів та розробників, які регулярно працюють з файловими системами.

Встановлення та використання

Встановити bfs можна з репозиторію GitHub або через пакетні менеджери багатьох Linux-дистрибутивів. Базове використання утиліти схоже на стандартний find, але з додатковими можливостями багатопотокового пошуку.

Для отримання додаткової інформації про нову версію та її функціональність можна відвідати офіційну сторінку релізу на GitHub.