Ich weiß, dass moderne Javascript-Engines versteckte Klassen hinter den Kulissen erstellen, so ist es not recommended Objekte zur Laufzeit zu ändern (wenn Sie eine große Anzahl von Objekten mit der gleichen Struktur haben).Führen Javascript-Engines eine Optimierung von multidimensionalen Arrays durch?
Hat jemand von internen Optimierungen von zweidimensionalen Arrays gehört?
ich eine zwei-dimensionales Array auf diese Weise:
var map = [];
for (i = 0; i < 100000; i++) {
map.push(Array(2));
}
Ich plane die schöne Struktur wie folgt zu brechen:
map[100].push(/* third element! */)
Wird dies einen dramatischen Einfluss auf die Leistung haben?
Sie sollten es ausprobieren und Benchmark – Bergi
Betrachten Sie [diesen Artikel] (https://gamealchemist.wordpress.com/2013/05/01/lets-get-those-javascript-arrays-to-work-fast/), scheint es, dass es eine memcopy von diesem einzelnen Array erfordert, da es nicht mehr in der Lage sein wird, dieses Array im fortlaufenden Speicher mit dem Rest zu speichern. Es sollte keine der anderen Arrays stören, bis der Speicher defragmentiert ist. Ich bezweifle, dass Sie irgendwelche Auswirkungen auf die Leistung sehen werden. – 4castle