[OT] kleine RAM-Disk zur Auslagerung von TMP u. TEMP bei Windows

Nach meinen Experimenten mit einem SSD RAM Cache wobei ich jetzt gierige

Interessantes gefunden, wobei die TMP u. TEMP-Ordner aus den Umgebungsvariablen von Windows in eine kleine RAM-Disk ausgelagert werden anstatt auf der SSD gespeichert zu werden.

TEMP-Ordnern etwa 20 x schneller als auf dem Drive.

Performance bringt:

----------------------------------------------------------------------- CrystalDiskMark 6.0.2 x64 (C) 2007-2018 hiyohiyo Crystal Dew World :

formatting link

-----------------------------------------------------------------------

  • MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
  • KB = 1000 bytes, KiB = 1024 bytes

Sequential Read (Q= 32,T= 1) : 10577.668 MB/s Sequential Write (Q= 32,T= 1) : 8891.945 MB/s Random Read 4KiB (Q= 8,T= 8) : 1022.017 MB/s [ 249515.9 IOPS] Random Write 4KiB (Q= 8,T= 8) : 685.205 MB/s [ 167286.4 IOPS] Random Read 4KiB (Q= 32,T= 1) : 403.847 MB/s [ 98595.5 IOPS] Random Write 4KiB (Q= 32,T= 1) : 358.414 MB/s [ 87503.4 IOPS] Random Read 4KiB (Q= 1,T= 1) : 412.800 MB/s [ 100781.3 IOPS] Random Write 4KiB (Q= 1,T= 1) : 338.576 MB/s [ 82660.2 IOPS]

Test : 1024 MiB [C: 57.3% (74.4/129.7 GiB)] (x5) [Interval=5 sec] Date : 2019/06/02 12:19:07 OS : Windows 10 Professional [10.0 Build 18362] (x64)

eingerichtet.

formatting link

Beide Aktionen zusammen machen mein Windoof 10 merklich schneller.

Das funktioniert allerdings nur sinnvoll, wenn man RAM-Kapitalist ist, so wie ich mit 64 GiByte.

Reply to
Leo Baumann
Loading thread data ...

Leo Baumann schrieb:

Mein erstes Mikroprozessorsystem hatte 1 kB RAM. Ich war recht stolz auf

Reply to
Martin Gerdes

die ICs beschaffte. Der GP32 mit dem ich heute typisch arbeite hat nur 512 Byte SRAM. Die oberen 256 Byte werden selten benutzt. FORTH hat Stacks und keine Stackframes wie C. Ist also weniger auf RAM angewiesen.

MfG JRD

Reply to
Rafael Deliano

Wie kommst du denn darauf, dass eine nicht stackbasierte Programmiersprache mehr RAM braucht als eine stackbasierte? Halte ich

Johannes

Reply to
Johannes Bauer

Linux-Anwendern lange Standard ist.

Ich kenne /tmp nur als Ramdisk. Kann aber auch eine Eigenart von Arch Linux sein.

Manuel

Reply to
Manuel Reimer

Am 08.06.2019 um 14:06 schrieb Rafael Deliano:

Chips zusammengebastelt. Dabei habe ich meinen ersten Kleinleistungstransistor zerschossen, weil ich dem testhalber versehentlich 10nF statt 270pF als Last zugemutet habe :-(

Mein "Aquarium" - 2000*56 Bit Kernspeicher im Stahlrahmen mit Plexiglas-Scheiben - habe ich leider nie zum Laufen gebracht :-(

74138. In einem anderen Rechner als 16K RAM benutzt.

DoDi

Reply to
Hans-Peter Diettrich

immer noch eine sinnvolle Technik:

formatting link
Da Unterschied sich bei einem 74HC4051 Multiplexer nur ein Pin in der Verdrahtung.

MfG JRD

Reply to
Rafael Deliano

Nicht nur dort.

Mein RIO Empeg (Auto-mp3-Player mit Festplatte) hat 2 TSOP-RAMs huckepack

ordentlich fixiert - hat jahrelang im Auto funktioniert (bis ich das Auto

ext3 doch etwas eng ...

...

cu Michael

Reply to
Michael Schwingen

gemeint.

Ich glaube es halt einfach nicht. Denn der Overhead durch einen

irgendwo die volatilen Register gesichert werden.

Johannes

Reply to
Johannes Bauer

Hallo Johannes,

Du schriebst am Sun, 9 Jun 2019 20:42:16 +0200:

Der Overhaed des Stack-_Frame_ ist was ganz anderes als der "nicht

und der wird bei C wegen der nicht vorhandenen verschachtelten Funktionen sowieso nicht gebraucht.

kal definiert ist. Bei FORTH gibt es keinen Stack-_Frame_, da es auch im Prinzip keine lokalen Daten gibt - alle Daten werden per Stack oder in globalen Variablen "transportiert".

oder auf

FORTH kennt auch (original) keinen Heap, sondern es benutzt einen zweiten

tacks auszutauschen.

andere Systeme, die einen Zwischencode benutzen, allerdings auf maximale

Register" gibt, die bei Aufrufen von "Unterfunktionen" gesichert werden

die Register der VM

jeglicher Architekturen.

--
--  


----------------------------------------------------------- 

-----------------------------------------------------------
Reply to
Sieghard Schicktanz

Returnadresse und eben gesicherten Basepointer. Lokal allozierte Daten

einer Funktion auf dem Stack, den RAM brauchst du eben so oder so. Und

Modulglobal alloziert (je nach Wert landet das dann in .data oder .bss) oder eben Funktionsstatisch. Aber was das bringen soll, sehe ich nicht

-- sondern sehe das eher als Nachteil, dass man immer den Worstcase

verwendet, die man braucht.

Aber egal wie wir die Segmente jetzt nennen: RAM ist ja RAM. Also die

Aussage) bei FORTH im Vergleich zu C RAM ein? Und gibts da Messungen dazu? Ich finde das sehr uneinleuchtend.

Hm, naja aber irgendwann muss der RAM ja allokiert werden. Also

sie ein Unterprogramm auf. Dann gibts da irgendwo den Wert, den Counter. Und der muss gespeichert werden, irgendwo im RAM. Ob der jetzt (wenn ich dich richtig verstanden habe) einmal fest platziert wird und dann nicht beim Unteraufruf verschoben werden muss oder ob der jeweils gesichert

Unterschied, oder?

Gibt's da vielleicht ein einfaches Beispiel, dass verdeutlicht, wieso man da weniger RAM verwenden muss?

Johannes

Reply to
Johannes Bauer

Hallo Johannes,

Du schriebst am Mon, 10 Jun 2019 00:37:41 +0200:

raus, ...

?rlich,

en Stack im allgemeinen und den Stackframe im besonderen.

ufzeit

Nicht ganz - lokal in einer (C-) Funktion allozierte Daten brauchen _immer_ Speicher, auch wenn sie nicht benutzt werden. Auf dem Stack

as war aber nicht mal unbedingt mein Argument - es ging mir nur um die

Nein, Du kannst nicht den Stack nicht benutzen, solange Du auch nur eine Funktion aufrufst. Interrupts und Multitasking gehen ohne Stack auch nicht. Der Stack ist ein zentrales Strukturelement in praktisch jeder aktuellen Programmiersprache oder sogar noch allgemeiner, Datenverarbeitungsumgebung.

Statische Allokation ist eben zeitlich immer verbraucht, dynamische

me an, das nicht immer gebraucht wird (Framepointer, Objectpointer ["self"],

chst

zu

...

...

he

Es gibt da sicher Messungen, da kann Rafael sicher mehr dazu sagen.

und vergleichbarer Parallelimplementierungen zu finden und die auch zu

um

der

...

Es gibt ja nicht "de[n] RAM" - da spielt auch noch ein wenig mehr an Eigenschaften von Programm und Prgrammiersprache hinein.

ht, im anderen Fall macht der Compiler / Linker einen Speicherbedarf von 4 Bytes draus, weil er keine Bytes "mag" oder auch nur weil er nur 4 Bytes als kleinste Einheit kennt.

uft

arbeiten, egal ob der global, C-statisch oder am Stack liegt. Eine solche

Mehraufwand.

rgabe

FORTH spart sich halt das Anlegen lokaler Variabler, indem die ebenfalls wie fast alle anderen Daten bei Bedarf auf den Stack gelegt werden. Das hat durchaus nicht nur lauter Vorteile.

Hab' ich leider keins zur Hand und auch nicht so unbedingt die Zeit dazu. Vielleicht hat Rafael da was passendes, ggfs. auch aus der Literatur?

--
--  


----------------------------------------------------------- 

-----------------------------------------------------------
Reply to
Sieghard Schicktanz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.