자바스크립트 엔진 성능, 어디가 가장 빠를까?

by DD
5개월 전
조회수 14

V8, JSC, SpiderMonkey 등 자바스크립트 엔진의 성능 비교 결과가 공개되었으며, JSC의 예상 밖 선전이 눈에 띔

JSC는 인터프리터 성능에 집중하여 초기 로딩 속도를 개선했으며, RegExp 성능 개선을 통해 벤치마크에서 좋은 결과를 얻음

개발자들은 DeltaBlue 벤치마크의 대표성, V8의 초기 성능 우위 전략, 그리고 Chrome의 표준 준수 문제에 대한 의견을 공유함

JSC의 인터프리터 우선 전략

JSC는 인터프리터 기반 실행을 우선시하여 초기 페이지 로딩 속도를 향상시켰다. 구체적으로, JIT 컴파일의 오버헤드를 줄이고, 짧게 실행되는 자바스크립트 코드의 실행 속도를 높이는 데 집중했다. 따라서, 웹 페이지 로딩 속도 개선에 기여하며, 사용자 경험을 향상시켰다. 결과적으로, JSC는 초기 성능에서 V8보다 우위를 점할 수 있었다.

RegExp 성능과 벤치마크의 함정

RegExp 성능은 자바스크립트 엔진의 중요한 벤치마크 지표 중 하나이다. JSCRegExp 성능을 개선하여 벤치마크에서 좋은 결과를 얻었지만, 벤치마크의 캐싱 문제로 인해 실제 성능을 과대평가할 수 있다는 지적이 제기되었다. 반면, DeltaBlue 벤치마크는 실제 자바스크립트 코드의 성능을 대표하지 못한다는 비판도 존재한다.

V8의 성능 우위 전략과 표준 준수 문제

V8은 초기 성능 우위를 위해 ECMAScript 표준을 일부 무시하는 전략을 사용했다. 구체적으로, 정수형 프로퍼티 접근 방식을 배열처럼 처리하여 성능을 향상시켰다. 따라서, 다른 엔진들은 V8의 성능에 근접하기 어려웠다. 결과적으로, Chrome은 표준을 준수하지 않는 방식으로 성능을 개선하여 논란을 일으켰다.

JavaScript engines zoo