2009-02-26 3 views
2

Ich wollte die Kompilierung beschleunigen, also dachte ich, ich könnte meine Dateien auf einer Ramdisk erstellen lassen, aber auch automatisch in das Dateisystem geleert haben und das Dateisystem verwenden, wenn nicht genug RAM vorhanden ist.ramdisk mit einer Dateispiegel

Ich brauche vielleicht etwas ähnliches für eine App, die ich schreibe, wo ich möchte, dass Dateien im RAM zwischengespeichert und in den FS gespült werden. Was sind meine Möglichkeiten? Gibt es so etwas, das bereits existiert? (vielleicht fuse?) Die App ist eine Spielzeug-App (für jetzt) ​​und ich würde C++ Code wiederholt kompilieren müssen. Wie wir wissen, dauert es länger zu kompilieren, wenn vor dem Fortschreiten ein bestimmtes Problem zu lösen ist. Je weniger wir fertig werden können.

Antwort

3

Ram-Platten gingen den Weg des Dodo mit dem Dateisystem-Cache. Es kann viel bessere Entscheidungen treffen als ein statischer Cache, da es die RAM-Nutzung anderer Programme und die Position des Disk-Schreibkopfs kennt. Das faule Zurückschreiben ist kostenlos.

+0

sagst du, dass Windows meine Dateien zwischenspeichern, so dass ich dies nicht implementieren müsste? –

+0

Ja, tut es. Lesen und Schreiben. –

+0

Stimmt das im Allgemeinen, oder muss der Entwickler, der die Software geschrieben hat, irgendetwas tun, um Windows mitzuteilen, dass es den Dateisystemcache verwenden soll? Mit anderen Worten, profitiert mein vereinfachter C-Code vom System-Cache, wenn er große Dateien schreibt? Und wenn ja, warum sehe ich eine dramatische Beschleunigung, wenn ich in einen RAMDISK schreibe? (Hinweis: Ich verwende OpenCV, um große Videodateien mit jeweils einem Bild zu schreiben). – AndyL

1

Die Kompilierung ist CPU-gebunden, nicht an die Festplatte gebunden. Wenn Sie alle Ihre CPU-Kerne mit dem entsprechenden Build-Flag verwenden, können Sie diese einfach auf typischen PCs sättigen. Es sei denn, Sie haben eine Art Supercomputer, ich glaube nicht, dass dies die Dinge beschleunigen wird.

Für VS2008 ist diese Flagge /MP. Es existiert auch auf VS2005.

Verwandte Themen