Как лучше хранить массив целых в IndexedDB: TypedArray или ArrayBuffer?

Стоит задача сохранять в браузере пользователя списки 32-битных целых без знака (~1e7 значений).

По ним не нужен поиск, они не индексируются. Индексы другие – timestamp и всякие id.

Вижу три варианта:
  1. data: [1,2,3] – обычный массив
  2. data: new Uint32Array([1,2,3]) – типизированный массив
  3. data: new Uint32Array([1,2,3]).buffer – ArrayBuffer.


Есть ли принципиальные различия с т.з. занимаемого объёма диска и скорости записи/чтения? Пользоваться будут и на мобильных устройствах.

Смотрел devtools'ами FireFox (вкладка Storage) – в первых двух видны записанные значения, а для ArrayBuffer показывает как чёрный ящик {}. Причем для TypedArray вроде как дописывает к каждому значению ключ.

Для работы с IndexedDB пользуюсь Dexie.
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
Sportrecs Москва
от 150 000 до 200 000 ₽