Ist ein 2-Thread-Perl-Programm langsamer, wenn es mit einer RAM-Disk in einer Virtualbox ausgeführt wird?

Ist ein 2-Thread-Perl-Programm langsamer, wenn es mit einer RAM-Disk in einer Virtualbox ausgeführt wird?

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?

verwandte Informationen