Die SCHNELLSTE Methode ist relativ, bzw. abhängig von der Quelle, von der du liest.
Eine Datei von einem USB-Stick, einer Festplatte oder einer SSD zu lesen, wird zu unterschiedlichen Ergebnissen führen.
Generell nehmen sich die Methoden nicht viel, es sei denn du stellst dich an und liest Byte-für-Byte.
Ansonsten sind die
OS-Funktionen schon relativ performant, also TFileStream.Read, AssignFile / BlockRead, FileOpen / FileRead, ...
Wenn man's übertreiben und jede Millisekunde rausholen will, kann man sich mit MemoryMapping befassen.
Aber ob's das wert ist.
Was willst du denn machen?