Zudem die Frage: Wird es in Zukunft mal möglich sein, das Lesen kleiner Dateien fast so schnell hinzukriegen wie das Lesen grosser Dateien?
Ziemlich sicher nicht. Und vor allem nicht in Form eines universellen Dateisystems. Für Anwendungen wie den Start eines Betriebssystems könnte man ggf. durch Einsatz von für diesen Einsatzzweck optimierten Speicherabbildern (die dann als eine große Datei im Dateisystem liegen) ein bisschen mehr Leistung rauskitzeln, wird dafür dann aber vorher wesentlich mehr Zeit zur Optimierung investieren müssen.
Jetzt versuchen wir das ganze noch noch mal etwas zu quantifizieren:
Lesegeschwindigkeit[B/s] := Dateigröße[B] / Gesamtlesedauer[s]
Die gesamte Lesedauer beschränkt sich nun aber nicht nur auf die Inhalte, sondern umfasst auch noch den Zeitbedarf für den Zugriff (was offensichtlich mindestens so lange dauern wird wie das Lesen der entsprechenden Organisationsstrukturen) selbst. D.h.:
Gesamtlesedauer[s] := Zugriffsdauer[s] + Inhaltslesedauer[s].
Die Zugriffsdauer ist fast (bzw. wächst zumindest um Größenordnungen langsamer als die Dateigröße) unabhängig von der Dateigröße. Für große Dateien können wir dann
Zugriffsdauer << Inhaltslesedauer
annehmen (und somit gilt Lesegeschwindigkeit[B/s] ~ Dateigröße[B] / Inhaltslesedauer[s] ), aber für kleine Dateien kann das sogar in Richtung
Zugriffsdauer >> Inhaltslesedauer
gehen und fällt die Lesegeschwindigkeit am Ende eher enttäuschend aus. Wobei bei kleinen Datenmengen u.A. durch das Warten und Caching der Zeitbedarf relativ höher ausfällt.