Quand est-il sensé d'utiliser un Float32Array
au lieu d'un JavaScript standard Array
pour les applications de navigateur?Quand utiliser Float32Array au lieu de Array en JavaScript
Cette performance test montre Float32Array
d'être, en général, plus lent - et si je comprends bien, un Array
stocke des numéros comme 64bit - donc il n'y a aucun avantage dans la précision.
En dehors de toute réponse possible de la performance, Float32Array
présente également l'inconvénient de la lisibilité - avoir à utiliser un constructeur:
a = new Float32Array(2);
a[0] = 3.5;
a[1] = 4.5;
place un littéral de tableau
a = [3.5, 4.5];
Je demande cela parce que je J'utilise la bibliothèque glMatrix par défaut Float32Array
- et je me demande s'il y a une raison pour laquelle je ne devrais pas le forcer à utiliser Array
à la place, ce qui me permettra d'utiliser des littéraux de tableau.
Je ne trouve aucun site qui répond à cette question, je suppose que le principal avantage est qu'il utilise moins de mémoire. Donc, si vous travaillez avec d'énormes tableaux à virgule flottante, cela pourrait être un avantage. – Barmar
Il s'agissait peut-être d'un port de langage pour JavaScript et Float32Array était le plus proche de ce que la langue source avait à disposition. –
La spécification [Typed Array Specification] (http://www.khronos.org/registry/typedarray/specs/latest/) peut vous aider: «Cette spécification fournit une API pour l'interopérabilité avec les données binaires natives». – RobG