Diese Vorlesung behandelt, was ein „Engpass“ bei Ein-/Ausgabe ist und wie man ihn erkennt und beseitigt. Wir klären, warum Festplatten- und Netzwerkoperationen deutlich langsamer sind als RAM, welche Anti-Pattern häufig vorkommen (byteweises Lesen über
read(), synchrones Logging usw.), wie Puffer helfen (
BufferedInputStream,
BufferedReader), Profiler (
VisualVM,
JProfiler) und Zeitmessungen über
System.
currentTimeMillis
(). Wir führen ein praktisches Experiment mit dem Lesen der Datei
"bigfile.txt" durch, vergleichen die Geschwindigkeit mit und ohne Puffer, betrachten den Einfluss von SSD/HDD und Netzwerk und nennen typische Fehler.