The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Есть ли способ быстрее find -type d ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Файловые системы, диски)
Изначальное сообщение [ Отслеживать ]

"Есть ли способ быстрее find -type d ?"  +/
Сообщение от stre10k (ok) on 05-Дек-12, 10:41 
Добрый день.

Есть миллионы файлов в десятках тысячах вложенных каталогах.
Надо составить список каталогов.
find -type d работает очень медленно. По strace видно что он вызывает newfstatat для каждого файла.

Существует ли способ более быстрого решения задачи?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Есть ли способ быстрее find -type d ?"  +1 +/
Сообщение от stre10k (ok) on 05-Дек-12, 11:40 
Решил задачу распаралелив find.

find -mindepth 2 -maxdepth 2 -type d -print | xargs -I '{}' -P 20 -n 1 find '{}' -type d -print

плюс

find -maxdepth 1 -type d -print

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Есть ли способ быстрее find -type d ?"  +/
Сообщение от stre10k (ok) on 05-Дек-12, 13:20 
Не совсем, вывод перемешивается и бьются имена.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Есть ли способ быстрее find -type d ?"  +/
Сообщение от jedi email on 06-Дек-12, 12:29 
> Добрый день.
> Есть миллионы файлов в десятках тысячах вложенных каталогах.
> Надо составить список каталогов.
> find -type d работает очень медленно. По strace видно что он вызывает
> newfstatat для каждого файла.
> Существует ли способ более быстрого решения задачи?

tree?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру