Cada pasta consome um inode (256 bytes) e pelo menos um bloco (provavelmente 4096 bytes). O maior problema pode ser o tempo de acesso em várias camadas da hierarquia.
O problema de desempenho provavelmente não é devido ao tamanho da pasta, mas à expansão do nome do caminho. A expansão do nome do caminho tem dois problemas:
- Classifica os resultados (que não podem ser desabilitados), o que leva um tempo assustadoramente longo para grandes quantidades de itens.
- Cria linhas de comando ilegais (dependendo do tipo de uso) (muitos itens).
Você deve abordar isso no nível do aplicativo. Leia 100 nomes de arquivos por vez (sem classificação, com find
ou ls -U
) e classifique esses pequenos grupos, se necessário. Isso também permite a leitura paralela do uso do disco e da CPU.
Se você realmente precisar da expansão e / ou classificação do nome do caminho, poderá acelerar bastante o processo (se os arquivos forem alterados raramente) adicionando os arquivos aos diretórios (vazios) em ordem de classificação.