¿Por qué find ... -delete es mucho más rápido que rm -rf ? Específicamente,
Para aclarar: pregunto específicamente: ¿Por qué find ./x -type d -delete && rm -rf x es mucho más rápido que rm -rf x/ ?
Ha habido algunas personas que usan mecanismos similares, como rsync.
Hay varias publicaciones sobre por qué rm -rf es lento. Por ejemplo, https://unix.stackexchange.com/questions/106133/why-is-rm-slow es probablemente uno de los más enfocados.
Específicamente, encontré cd dir-to-delete && find . -type d -delete seguido de rm -rf dir-to-delete es extremadamente rápido, incluso en directorios grandes.
rm -f no es lento, pero si ejecuta muchos archivos y activa un proceso separado para cada rm , entonces será lento, porque iniciar un proceso le costará alrededor de 2 ms en un procesador moderno, y muchos archivos pueden ser eliminado en ese tiempo si en su lugar elimina en lotes, que es lo que hace find's -delete . Alternativamente, puede usar xargs para ejecutar rm con un lote con el mismo efecto.