Eu sei que ls lista os nomes dos arquivos em um determinado diretório e ls -i mostra os nomes e os números do inode.
Mas por que é mais lento?
EDIT : Isso acontece com grandes diretórios
Os nomes e os números do inode são armazenados juntos no bloco de informações do diretório, portanto, por que leva mais tempo para consultar os números do inode?
strace
me mostra quels -i
está chamandolstat()
em cada nome de arquivoIsso explicaria o trabalho extra.
Dado que readdir() já retornou o número do inode, isso parece ser sub-ótimo
embora pareça um bug, esse comportamento é para consistência com pontos de montagem. (veja o comentário de Thomas)