Hallo,
Einen Cache? In welcher Form? Und wieso rundest du? Brauchen gerundete Werte mit weniger dezimalen Nachkommastellen auch weniger RAM?
Siehe Alexander, es geht darum,
a) Berechnungen zu vermeiden,
b) Ergebnisse zentral und nur einmal zu speichern, dann aus dem Cache zu holen anstatt sie an einzelnen Objekten zu speichern.
Ob das Sinn macht, kann man sagen, wenn man deine Berechnungen kennt. Wenn du mehrere Eingabewerte hast, ist das natürlich komplizierter, aber möglich.
Du hast jetzt natürlich übertrieben. Aber was ist bei 1000 oder 10000 Objekten? Dazu könnte es durchaus kommen.
10000 Number-Eigenschaften fallen kaum ins Gewicht. (Eine Zahl braucht in JavaScript immer 64 Bit, plus Overhead.)
10000 Objects mit einer zufälligen Number-Eigenschaft namens »zahl« gespeichert in einem Array führen in meinem Firefox/Linux so einem solchen Speicheranstieg:
sz,size,rsz,vsize
39,156,96,156
Das sind 39 Pages à 4096 Bytes = 156 KBytes. Das ist absolut vernachlässigbar.
Mit 1000 Durchläufen, wäre das ganze sicherliche präziser, aber das manuell zu machen ist Wahnsinn.
Warum musst du es manuell machen? Ich dachte, du hast schon das Spiel und damit realistische Testbedingungen?
Gibt es eine Möglichkeit das ganze zu automatisieren oder doch noch eine andere Möglichkeit, die Werte herauszufinden? (Ich denke da z.B. an eine FF Erweiterung, die den aktuellen RAM-Verbrauch nur von Javascript auslesen kann)
So eine Erweiterung gibts meines Wissens nicht. Du kannst dir höchstens die JavaScript-Engine des Firefox als Kommandozeilen-Programm kompilieren. Aber ich wüsste nicht, was das bringt. Das sind dann künstliche Testbedingungen. Teste einfach im Browser und schau dir den Speicherverbrauch des Prozesses an. Die verbrauchte Zeit verschiedener Umsetzungen misst du am besten in JavaScript selbst mit Date-Objekten.
Mathias