Ich geh mal etwas Off-Topic
@Pleitgengeier:
Unter Windows kann man auch eine Ramdisk nutzen, da gab es diverse Anwendungen für die das ermöglichen. Aber ob man, außer man hat eine SSD im Einsatz, dadurch mehr Performance bekommt als die Daten dann direkt im Arbeitsspeicher festzuhalten wage ich einfach mal zu beweifeln, aber ich habe mich auch mit dem Thema zu wenig beschäftigt.
Aber man sollte auch bedenken das dadurch die SSD schneller abgenutzt wird, und die neigten dazu schnell kaputt zu gehen? Kann sich natürlich auch auf die ersten Modelle allein beziehen.. Aber wer mehr RAM braucht und keinen RAM zur Verfügung stellen kann, für den bietet sich natürlich eine RAM-Disk Lösung an, da man hier mehr Auslagern kann, selbst wenn der tatsächliche RAM schon voll ist.
Aber die Speichernutzung von Firefox wurde tatsächlich über die Jahre optimiert und es ist nicht mehr das alte große Monster was es gewesen ist. Wenn ich mich recht erinnere gab es da zum Beispiel auch eine Entwicklung was das Bereithalten von inaktiven Tabs angeht bzw. auch wie Bilder im Speicher gehalten werden. Letztlich gab es auch Änderungen das JS-Strings nun viel weniger Platz benötigen, aber erinnert auch ein wenig an Mikro-Optimierung da dies eher sehr Anwendungsbedingt ist.
@phre4k:
Über die Memory Leaks weiß ich so auch leider nicht viel, da müsste man ein Beispiel sehen, aber das Problem von JS Anwendungen sind, meiner Meinung nach, auch die Programmierung selbiger - es gibt Fälle, zum Beispiel Type-Mixing in JS - das manches gar nicht optimiert werden kann weil die Engine denkt wir arbeiten mit einem String, aber plötzlich ändert sich der der Wert der Variable in ein Array, zum Beispiel.
Hier gibt es dazu auch noch ein paar Tips zur Optimierung von JS:
https://developers.google.com/speed/articles/optimizing-javascript
Oder auch:
http://home.earthlink.net/~kendrasg/info/js_opt/
Sieht alt aus, aber bei manchem sehe ich schon noch einen Unterschied
Ob sich das Tod-Optimieren konkret lohnt hängt vom Einsatzzweck, Mengen der Daten und oder Berechnungen ab. Manches hier genannte ist nicht wirklich straight forward und ob man wirklich die Performance braucht wenn dadurch der Code schwerer nachvollziehbar wird, muß jeder für sich entscheiden.
Es gibt noch einige andere interessante Fälle, zum Beispiel das eine Variable innerhalb einer Schleife, immer wieder neu deklariert wird, anstelle diese einmal zu deklarieren und dann nur den Inhalt zu aktualisieren... oder das man Rechnungen vorberechnet, wenn man nur das Ergebnis benötigt, anstelle immer wieder neu den gleichen Wert zu berechnen oder Werte über den DOM zu ermitteln, auch wenn die Werte sich nicht ändern und man dann nur bei einem "resize" Veränderungen der Werte hätte und diese dann nur zu aktualisieren hat.
Aber ist auch ein anderes Thema und es gibt da wohl jede Menge was man tun kann