현재 저는 논문을 쓰고 있습니다. 이 글에서는 코드 최적화에 대해 이야기 할 것입니다. 필자의 예에서는 자바 스크립트에서 별개의 두 배열을 사용할 것이다. ES5 필터와 중첩 된 for 루프를 비교합니다.자바 스크립트 코드를 벤치 마크하는 학문적으로 올바른 방법은 무엇입니까?
jsPerf.com을 사용한 내 테스트는 예상대로 진행되었습니다. ES5 필터는 중첩 된 for 루프보다 89-90 % 느립니다. performance.now()
(타이머 시작, 코드 실행, 타이머 중지 및 소요 시간 계산)을 사용하면 비슷한 결과를 얻을 수 있습니다.
이 모두는 벤치마킹 코드에 적합합니다. 정말로, 그들은 그렇습니다. 그러나, 그들은 학구적으로 정확하지 않습니다. 첫 번째 테스트가 완료된 직후에 100 % CPU 집약적 벤치 마크를 실행하면 어떻게됩니까? 테스트 2의 결과는 "유효하지 않습니다".
두 가지 JavaScript 코드를 벤치마킹하는 가장 좋은 방법은 무엇입니까?
https://mathiasbynens.be/notes/javascript-benchmarking – robertklep
@robertklep 그러나 나는 "이 코드를 백만 번 실행하고 평균 시간이 걸렸습니다."라고 말하면 모든 것을 염두에 둡니다. 그 일에 부딪 칠 것입니다. 그것은 올바른 방법이 아닙니다. 100 % CPU 사용량에서 벤치 마크를 실행하면 결과가 달라집니다. – MortenMoulder
@MortenMoulder 결과는 브라우저마다 다를 수 있습니다. 다른 버전의 브라우저에서도 마찬가지입니다. 즉, _now_의 결과가 몇 개월 만에 완전히 다를 수 있음을 의미합니다. 타당성에 대한 귀하의 요구 사항은 무엇입니까? – vlaz