ivinnic
@ivinnic
Full-Stack - подустал

Как оптимизировать сет в буферный массив?

Добрый день!
Есть вопрос по оптимизации кода.

Цель понять как уменьшить объем кода в Example 1, без значительного уменьшения производительности.

Branchmark: https://jsben.ch/OsKbY
Setup:
let data1={test:new Float32Array(50000)}
let data2={test:new Float32Array(50000)}


function setBuffer(name, figure_num, data_p){

  let num = 5 * figure_num
  let buffer_array = data1[name]
  for (let i = 0, l = data_p.length; i < l; i++) {
    buffer_array[num + i] = data_p[i];
  }
}


Example 1:
let pt1=[1,2]
    let pt2=[3,4]
    let status=5
    for(let i=0;i<10000;i++){
      let buffer_array = data2['test']
      let num = 5*i;
      buffer_array[num+0] = pt1[0];
      buffer_array[num+1] = pt1[1];
      buffer_array[num+2] = pt2[0];
      buffer_array[num+3] = pt2[1];
      buffer_array[num+4] = status;

    }


Example 2:
let pt1=[1,2]
let pt2=[3,4]
let status=5

for(let i=0;i<10000;i++){
  setBuffer('test', i, [pt1[0],pt1[1],pt2[0],pt2[1],status])
}


5f91b96c80258756211465.png
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы