Если v8 оптимизирует ArrayBuffer как Uint * Array - PullRequest
0 голосов
/ 27 апреля 2018

Я выписал Где использовать ArrayBuffer против типизированного массива в JavaScript? , но он не описывает, оптимизирован ли ArrayBuffer в v8 или нет. Допустим, в ArrayBuffer есть разные куски целых чисел или чисел с плавающей точкой, и вы задаетесь вопросом, будут ли они оптимизированы для v8, как для Uint8Array и т. Д.

1 Ответ

0 голосов
/ 27 апреля 2018

V8 разработчик здесь. ArrayBuffers - это просто контейнеры данных, я не вижу, что бы вы о них оптимизировали. Какую оптимизацию вы ожидаете для «кусочков целых или с плавающей точкой»?

Типизированные массивы - это представления ArrayBuffers; ответ на пост, на который вы ссылаетесь, прекрасно это объясняет. Типизированные массивы обеспечивают индексированный доступ к своим элементам (и оптимизирующий компилятор V8 имеет хорошую поддержку для такого доступа); ArrayBuffers не предоставляют способа доступа к своим элементам (поэтому те же оптимизации не применяются).

...