Wann Float32Array statt Array in JavaScript

Wann macht es Sinn, eine Float32Array anstelle eines standard-JavaScript - Array für browser-Anwendungen?

Diese performance-test zeigt Float32Array im Allgemeinen langsamer und wenn ich das richtig verstehe ist ein standard Array speichert zahlen als 64-bit - es gibt also keinen Vorteil in der Genauigkeit.

Abgesehen von möglichen performance-hit Float32Array hat auch den Nachteil der Lesbarkeit - mit einem Konstruktor:

a = new Float32Array(2);
a[0] = 3.5;
a[1] = 4.5;

stattdessen ein array-literal

a = [3.5, 4.5];

Ich Frage das, denn ich bin mit der Bibliothek glMatrix die standardmäßig auf Float32Array - und Frage mich, ob es irgendeinen Grund, warum ich nicht die Kraft, es zu verwenden Array stattdessen wird mir erlauben, verwenden Sie array-Literale.

  • Ich finde keine Website, die Antworten, meine Vermutung ist, das der Hauptvorteil ist, dass es weniger Speicher verbraucht. Also, wenn Sie die Arbeit mit großen floating-point-arrays, könnte es ein Vorteil sein.
  • Es wurde eine Sprache-Anschluss zu JavaScript und Float32Array war der nächste, um unabhängig von der Quellsprache zur Verfügung hatte.
  • Typisiertes Array-Spezifikation helfen kann: "Diese Spezifikation stellt eine API für die Interoperabilität mit nativen binary data".
  • Sie können immer noch literal-style syntax: new Float32Array([3.5, 4.5]). Float32Array ist deutlich langsamer als Float64Array da die Werte umgewandelt werden müssen/aus 64-bit-Werte, wenn Sie etwas mit dem array Inhalt, so dass, wenn der Speicherplatz es zulässt, und Sie wollen Geschwindigkeit, versuchen Float64Array statt.
InformationsquelleAutor pancake | 2013-04-04
Schreibe einen Kommentar