Primero … ¿qué cuenta como el tiempo necesario para acceder a un archivo? ¿El tiempo transcurrido entre que se le dice a un programa que lea / escriba desde / a una ruta de archivo completa y qué tan rápido termina de leer / escribir? ¿O el tiempo que lleva enumerar los archivos para que pueda seleccionar uno? Si es posterior, casi no tiene influencia en ningún sistema de archivos, es el cuadro de diálogo / ventana que usa para mostrar la lista de archivos; si necesita mostrarlos todos, incluso si se desplaza fuera de la vista, llevará mucho tiempo incluso solo vea el contenido del directorio. Entonces, si te refieres a esto, FS no tiene nada que ver con eso; de lo contrario, sigue leyendo.
A continuación, con respecto a los archivos pequeños. Linux puede venir con varios sistemas de archivos. Incluso puede decidir cambiar el FS de un disco formateándolo nuevamente. El sistema de archivos más común es ext4, que es un buen todoterreno ya que no desperdicia mucha RAM, es razonablemente rápido con archivos grandes y muchos archivos pequeños, por ejemplo, XFS y ZFS no está muy contento con muchos archivos pequeños (especialmente no cuando los escribe / reescribe), ext4 los supera en más de 100000 archivos. Hay otros FS que están diseñados específicamente para ser lo más rápidos posible para escenarios específicos, por ejemplo, ReiserFS está diseñado para leer rápidamente desde muchos archivos pequeños, hasta el punto de que ni siquiera se nota entre 100 archivos y 100000000 (generalmente aproximadamente 10 veces más rápido que ext4). Sin embargo, no es muy rápido al escribir / reescribir / leer al azar de ellos (en cuyo caso es casi 100 veces más lento que ext4). Btrfs es un poco más lento en la lectura (digamos alrededor de 1,5 veces lo que hace Reiser), pero muchas veces más rápido en la escritura / reescritura y lectura aleatoria (alrededor de 10 veces más rápido que ext4). Probablemente hay muchos otros FS que tienen situaciones similares, aunque no los conozco todos, solo pueden referirse a los que realmente he usado.
Si realmente quieres lo más rápido para archivos tan pequeños, Btrfs tiene el mejor rendimiento general de los que he usado. Al menos desde mi propia experiencia. Y, de hecho, es similar a las pruebas de referencia realizadas aquí: ¿Cuál es el sistema de archivos Linux de más alto rendimiento para almacenar muchos archivos pequeños (HDD, no SSD)? Aunque tenga en cuenta que Btrfs es un “nuevo” sistema de archivos: no es tan maduro como algunos de los otros y aún puede tener algunos errores no encontrados, pero debería funcionar razonablemente bien en estos días (he escuchado muchas cosas buenas y muy malas) )
Sin embargo … ¿llevará tiempo constante? Probablemente no. Eso se debería a la técnica de indexación utilizada para nombrar e identificar archivos en el disco. Casi todos los FS utilizan un índice de árbol binario (o alguna derivada del mismo). Eso significa que el tiempo aún aumentaría, pero en cantidades cada vez más pequeñas. Por ejemplo, puede tomar 10 ms en 100 archivos, 19 ms en 1000, 25 ms en 10000, etc. Esto se conoce como algoritmo O (log N). El único algoritmo de complejidad de tiempo constante (O (1)) para dicha indexación es una tabla hash, que no se adapta muy bien a los sistemas de archivos, por lo que muy pocos de ellos la utilizan (al menos no solo para el conjunto completo de todos los directorios). – puede usarlo dentro de cada directorio individualmente, que es lo que creo que Btrfs y Reiser están haciendo).