JavaScript에서 속도 테스트 개체 VS 배열 작업
작업 속도 비교를 업데이트합니다.
5M의 어레이 업데이트 속도. 데이터
// Array..
const arr = [];
for (let i = 0; i < 5000000; i++){
arr.push({
id: I,
value: `${i * 84}`
});
}
// Updating data..
console.time('ARRAY SPEED');
let id = 4999998;
const findItem = arr.find(item => item.id === id);
findItem.value = 'HACKED BY ASAD ANIK';
console.timeEnd('ARRAY SPEED');
ARRAY SPEED: 48.817ms
5M의 개체 업데이트 속도. 데이터
// Object..
const obj = {};
for (let i = 0; i < 5000000; i++){
obj[i] = {
id: I,
value: `${i * 84}`
};
}
// Updating data..
console.time('OBJECT SPEED');
let id = 4999998;
obj[id].value = 'HACKED BY RAKHIYAATUL KUBRA';
console.timeEnd('OBJECT SPEED');
OBJECT SPEED: 0.085ms
작업 속도 비교를 삭제합니다.
어레이의 삭제 속도.
// Array..
const arr = [];
for (let i = 0; i < 5000000; i++){
arr.push({
id: I,
value: `${i * 84 + 77}`
});
}
// Deleting data..
console.time('ARRAY DELETE SPEED');
let id = 4999999;
const index = arr.findIndex(item => item.id === id);
arr.splice(index, 1);
console.timeEnd('ARRAY DELETE SPEED');
ARRAY DELETE SPEED: 49.457ms
객체 삭제 속도.
// Object..
const obj = {};
for (let i = 0; i < 5000000; i++){
obj[i] = {
id: i,
value: `${i * 84 + 77}`
};
}
// Deleting data..
console.time('OBJECT DELETE SPEED');
let id = 4999999;
delete obj[id];
console.timeEnd('OBJECT DELETE SPEED');
OBJECT DELETE SPEED: 0.084ms
Vs Map, 필터 방식을 줄입니다.
Reduce는 Map 및 Filter보다 더 강력한 방법입니다. 증명을 보자.
→ 맵, 필터
const arr = [];
for (let i = 0; i < 5000000; i++){
arr.push(i);
}
// Not Optimised operation..
console.time('MAP_FILTER');
arr.filter(item => item %2 === 0).map(item => item * 2);
console.timeEnd('MAP_FILTER');
MAP_FILTER: 153.749ms
→ 축소
const arr = [];
for (let i = 0; i < 5000000; i++){
arr.push(i);
}
// Optimised operation..
console.time('REDUCE_WAY');
arr.reduce((acc, cur) => {
if (cur %2 === 0){
acc.push(cur * 2);
}
return acc;
}, []);
console.timeEnd('REDUCE_WAY');
REDUCE_WAY: 89.065ms
의사결정
→ 애플리케이션을 구축할 시간이므로 작업을 결정해야 합니다. 애플리케이션이 많은 트래버스를 처리하고 있습니까? ⇒ 따라서 대부분의 경우 어레이 작업으로 작업하십시오. 완전히 괜찮아요.
→ 그리고 애플리케이션이 생성, 검색, 읽기, 업데이트, 삭제와 같은 많은 CRUD 작업을 처리한다면? ⇒ 따라서 대부분의 경우 객체 작업으로 작업하십시오. 괜찮아.
Reference
이 문제에 관하여(JavaScript에서 속도 테스트 개체 VS 배열 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/asadanik/speed-testing-object-vs-array-operation-in-javascript-29ja텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)