Ich führe ein Perl-Skript in einer Virtualbox aus (Host- und Gastbetriebssystem sind Windows 7). Die Virtualbox hat 4 von 8 CPUs (alles läuft auf einem Intel i7) und 3 GB RAM (von 8 verfügbaren).
Das 2-Thread-Perl-Programm, dem viel RAM zur Verfügung steht, führt viele E/A-Vorgänge aus, liest und schreibt Dateien und gibt Perl-„System“-Befehle aus (d. h. es führt externe Programme aus).
Um eine bessere Leistung zu erzielen, habe ich versucht, eine RAM-Disk (512 MB, groß genug, um sowohl Eingabe- als auch Ausgabedateien aufzunehmen) zu verwenden.
Ich habe alle Eingabedateien und das Skript dorthin kopiert (leicht geändert, um die neue Festplatte zu berücksichtigen).Die Ausgabedateien werden korrekt auf der RAM-Disk erstellt, aber überraschenderweise dauert dies viel länger als bei Verwendung einer normalen Festplatte.
Hier sind die "Benchmarks":
mit RAM-Disk: ca. 1 Std. 03 Min. 45 Sek.
ohne RAM-Disk: ca. 32 Min. 15 Sek.
(bitte denken Sie daran, alles läuft in einer Virtualbox und die RAM-Disk ist konfiguriertinnendas Gastbetriebssystem).
Nur die Datei perl.exe und die Bibliotheken verbleiben noch auf der „normalen“ Festplatte C:.
Was passiert? Warum hat die RAM-Disk den Benchmark nicht verbessert?