3. 자바스크립트 처리 속도 테스트

웹 브라우저가 제공하는 기능이 점차 다양해지면서 브라우저의 성능 측정이나 기준도 달라질 수밖에 없다.
대표적으로 브라우저의 자바스크립트 속도를 측정하는 방법이 있으며 차세대 웹 표준인 HTML5에서 제공하는 명령셋을 얼마나 호환이 되는지도 살펴볼 수 있다. 이외 에도 부팅시간, 메모리 사용량, 소비 전력 등 다양한 방면에서 비교할 수 있을 것이다.

IE9에 제공되는 Chakra 자바스크립트 엔진
우선 자바스크립트의 경우 웹 애플리케이션이 발전하고 대중화 되면서 이에 대한 중요성이 점차 높아지고 있다. 자바스크립트 엔진이라고 불리는 웹 브라우저 구성요소는 이 자바스크립트 코드를 사용자가 보고 대화할 수 있는 화면상의 객체로 해석해주는 역할을 한다.
따라서 대부분의 브라우저들은 다른 어떤 것보다도 자바스크립트 엔진의 성능을 높이기 위해 애를 쓰고 있다. 그리고 이러한 자바스크립트의 전반적인 성능을 측정해주는 다양한 툴이 선보이고 있는데 대표적인 것으로는 웹킷 선스파이더 벤치마크, WebKit Sun Spider 0.9.1, Mozilla Kraken 1.0, Google V8 Verson 6등이 있다.
참고로 각 브라우저에 사용된 자바스크립트 엔진을 살펴보면 다음과 같다.
- IE 9 - Chakra
- 크롬 10 - V8 (Crankshaft)
- 파이어폭스 4 - JaegerMonkey
- 사파리 5- Nitro
- 오페라 11 - Carakan
지금부터 보다 실제 사용자의 상황과 유사한 환경에서의 전반적인 브라우저의 성능을 측정할 수 있는 PeacerKeeper과 자바스크립트 성능을 측정할 수 있는 선스파이더, V8 벤치마크 슈트를 통해 브라우저의 성능을 살펴보도록 하자.
PeaceKeeper - The Browser Benchmark
우리에게 그래픽 카드의 3D 성능 측정 프로그램 3DMark로 잘 알려진 Futuremark에서 선보인 PeaceKeeper는 기본적으로는 자바스크립트 테스트 프로그램이지만 DOM, 렌더링등의 테스트와 함께 유튜브, 페이스북, 지메일 등의 유명 웹사이트를 서핑하면서 해당 브라우저의 전반적인 성능을 살펴볼 수 있다.

테스트 결과에서 볼 수 있듯이 크롬10이 다른 브라우저들에 비해 월등히 높은 점수를 보여주고 있으며 그 뒤를 오페라 11, IE9, 사파리 5, 파이어폭스4의 순서를 보여주고 있다. 각 항목별 구체적인 테스트 결과는 다음과 같다.
|
항목
|
IE 9
|
크롬 10
|
파이어폭스 4
|
사파리 5
|
오페라 11
|
|
Score
|
4182
|
7182
|
3310
|
3862
|
5614
|
|
Rendering
|
4184
|
2865
|
1511
|
1721
|
4607
|
|
Social networking
|
1909
|
3499
|
2705
|
3108
|
2965
|
|
Complex graphics
|
10010
|
10051
|
6780
|
4005
|
10836
|
|
Data
|
7570
|
25418
|
5596
|
4883
|
5315
|
|
DOM Poerations
|
2122
|
5362
|
3237
|
5338
|
5077
|
|
Text parsing
|
9974
|
13994
|
5373
|
6168
|
15129
|
결과에서 볼 수 있듯이 6개의 테스트 항목 중 크롬10이 3개, 오페라 11이 3개씩 가장 높은 스코어를 제공하고 있는데, 그 중에서 Data 항목의 경우 크롬 10이 다른 브라우저에 비해 3~4배 이상 높은 스코어를 기록하고 있다. 결국 Data 항목으로 인해 종합 점수가 크롬 10이 가장 높게 나오는 것이라 할 수 있다.
Data 항목은 자바스크립트 배열을 사용하는 동적 웹페이지를 이용한 테스트로 크롬 10에 탑재된 자바스크립트 엔진인 V8이 멀티코어에 최적화되어 있기 때문에 최근 듀얼코어 이상을 사용하는 PC 환경에서 뛰어난 성능을 제공하는 것으로 알려졌다.
Webkit Sunspider Javascript Benchmark 0.91
Sunspider는 애플의 Webkit 팀에서 제작한 자바스크립트의 성능을 측정할 수 있는 프로그램이다. 벤치마크할 브라우저를 실행한 후 주소로 접속하는 것만으로도 손쉽게 브라우저의 자바스크립트 성능을 살펴볼 수 있다.

Sunspider 테스트는 자바스크립트 벤치마크를 5 측정한 후 상하위 2.5%씩을 제하고 95%값을 사용해 측정 신뢰도를 높이는 방식을 사용한다. 테스트 결과에서 볼 수 있듯이 IE9가 가장 빠른 모습을 보여주고 있으며 그 뒤를 오페라11과 파이어폭스4의 순서를 보여주고 있다. 특히 IE의 경우 이전 8 버전에 비해 10배 이상 빠른 성능을 보여주고 있어 지금까지 타 브라우저에 비해 부족하다고 평가받았던 자바스크립트의 처리 속도가 눈에 띄게 개선이 되었음을 확인할 수 있다.
V8 Benchmark Suid - Version 6
V8 Benchmark Suite는 구글이 개발한 순수 자바스크립트 성능 프로그램으로 크롬의 V8 엔진의 튜닝을 위해 사용했던 5개의 테스트로 이뤄져 있다.

애초에 크롬을 염두한 프로그램인만큼 테스트 결과에서 볼 수 있듯이 크롬 10이 여타 다른 브라우저에 비해 2배 이상 높은 스코어를 기록한 것을 확인할 수 있다. 특히 크롬 10의 경우 획기적으로 개선된 컴파일 성능을 갖춘 CrankShaft가 적용되어 기존에 비해 50% 이상의 성능 향상을 보인다고 알려져 있는데 실제 관련 테스트에서도 동일한 모습을 보여주고 있다.
이것은 V8 CrankShaft가 1차로 최적화된 초소의 컴파일 코드를 생성(기존보다 30% 적은 코더)한 후 이 코드를 최적화 하는 방식으로 성능 향상을 꾀하고 있기 때문에 가능하다. 그외 파이어폭스4와 오페라11이 비슷한 수준을 보이고 있으며 IE9가 가장 낮은 성능을 제공하고 있다.
Kraken Javascript Benchmark 1.0
Kraken 1.0은 모질라가 개발한 자바스크립트 테스트 프로그램으로 선스파이더를 기반으로 여러 기능을 개선하였다.

모질라에서 내놓은 프로그램답게 파이어 폭스4가 크롬10을 근소한 차이로 앞서며 가장 뛰어난 성능을 보여주고 있으며 사파리5가 가장 느린 속도를 보여주고 있다.
지금까지 살펴본 것과 같이 브라우저간의 자바스크립트 처리 속도는 어떤 프로그램을 사용하느냐에 따라 순위가 바뀌는 모습을 보여주고 있다. 모든 브라우저들이 이전 버전에 비해 자바스크립트 엔진의 개선을 통해 성능 향상을 이끌어 내고 있는데, 특히 IE9의 경우 그 동안의 불명예를 어느 정도는 만회할 수 있을 정도로 가장 큰 성능 향상폭을 보여주었다.
다만 자바스크립트가 제공하는 수많은 함수 중에 어떤 것을 반복적으로 테스트 하느냐에 따라 성능이 달라지기 때문에 단순히 몇몇 테스트만으로는 어떤 브라우저가 더 빠르다고 섣불리 말하기는 어렵다. 또한 자바스크립트의 처리 속도는 이제 체감상 그 차이를 느낄 수 없을 정도로 모든 브라우저에서 빠르게 동작하고 있다는 점도 고려해야 할 것이다.