나는 jQuery에 대한 성능 벤치 마크를 실행 중이었고 (묻지 않음) 흥미로운 것을 발견했습니다. 웬일인지 this[0] = element
는 this.foo = element
에 비해 아주 느린 것처럼 보입니다. 다음은 의무적 인 jsPerf case입니다.JavaScript - 문자열 대 정수 키
누구나 왜 그런 성능 저하가 있었는지 설명 할 수 있습니까? 명백한 "문자열 키 사용"과 별도로 성능을 향상시킬 수있는 방법이 있습니까?
나는 jQuery에 대한 성능 벤치 마크를 실행 중이었고 (묻지 않음) 흥미로운 것을 발견했습니다. 웬일인지 this[0] = element
는 this.foo = element
에 비해 아주 느린 것처럼 보입니다. 다음은 의무적 인 jsPerf case입니다.JavaScript - 문자열 대 정수 키
누구나 왜 그런 성능 저하가 있었는지 설명 할 수 있습니까? 명백한 "문자열 키 사용"과 별도로 성능을 향상시킬 수있는 방법이 있습니까?
[0]
은 호환되지 않아 문자열 ("0"
)로 변환 된 다음 문자열 조회 ["0"]
으로 사용되어야합니다.
나는 그것이 무슨 일이 일어나고 있는지를 100 % 설명하지만, 그것은 보편적 인 부분입니다.
나머지 대부분은 엔진별로 기반 최적화가 될 것입니다.
이 또한 배열이 아니며 배열 조회도 아닙니다.
개체의 대괄호 표기법입니다.
성능 차이를 느낄 수 있습니까? (즉, 30 % 느린 대 100x 느리게) – BostonJohn
다른 테스트 http://jsperf.com/test-string-and-index. 퍼포먼스 히트는 배열로 무언가를해야한다고 생각합니다. – nhahtdh
유효한 식별자로 간주되지 않는 속성을 사용하는 경우에는 속도가 중요하지 않습니다. 이 경우 성능 차이에 관계없이'[] '을 사용해야합니다. –