No es una aceleración fundamental, pero al menos algo :)
find . -printf \\n | wc -l
Realmente no necesita pasar la lista de nombres de archivos, solo bastan las nuevas líneas. Esta variante es aproximadamente un 15% más rápida en mi Ubuntu 12.04.3 cuando los directorios se almacenan en caché en la RAM. Además, esta variante funcionará correctamente con nombres de archivo que contengan nuevas líneas.
Curiosamente, esta variante parece ser un poco más lenta que la anterior:
find . -printf x | wc -c
Caso especial, pero muy rápido
Si el directorio está en su propio sistema de archivos, simplemente puede contar los inodos:
df -i .
Si el número de directorios y archivos en directorios diferentes al contado no cambia mucho, simplemente puede restar este número conocido del df -i
resultado actual . De esta manera podrá contar los archivos y directorios muy rápidamente.