Kiedy ma sens używanie Float32Array
zamiast standardowego JavaScript Array
dla aplikacji przeglądarkowych?Kiedy używać Float32Array zamiast Array w JavaScript
Ten pokazuje, że Float32Array
jest generalnie wolniejszy - i jeśli dobrze rozumiem, standard Array
przechowuje liczby jako 64-bitowe - więc nie ma żadnej przewagi w precyzji.
Oprócz ewentualnego trafienia wydajności, Float32Array
ma również tę wadę, czytelność - konieczności użycia konstruktora:
a = new Float32Array(2);
a[0] = 3.5;
a[1] = 4.5;
zamiast tablicę dosłownego
a = [3.5, 4.5];
Pytam, bo to "Używam biblioteki glMatrix, która domyślnie jest Float32Array
- i zastanawiam się, czy jest jakikolwiek powód, dla którego nie powinienem zmuszać go do używania Array
zamiast tego, co pozwoli mi używać literałów tablicowych.
Nie mogę znaleźć żadnej strony, która odpowiada na to, domyślam się, że główną korzyścią jest to, że zużywa ona mniej pamięci. Więc jeśli pracujesz z wielkimi tablicami zmiennoprzecinkowymi, może to być korzystne. – Barmar
Być może był to port języka JavaScript, a Float32Array był najbliższy dostępnemu językowi źródłowemu. –
Specyfikacja [Typed Array Specification] (http://www.khronos.org/registry/typedarray/specs/latest/) może pomóc: "Ta specyfikacja zapewnia interfejs API do współdziałania z natywnymi danymi binarnymi". – RobG