엇그제 나온 윈도우즈용 사파리는 대한민국에서 처절무쌍하게 난타당하고 있다. 사파리의 본고장 아프리카, 아니, 미국에서도 별로 호의적인 평가는 듣지 못하고 있다. 베타라기보다는 초기 베타, 또는 알파 버전이라는 것이 써본 사람들의 중평이다. 일단 다국어 지원도 미비한 데다가 안정성도 많이 떨어지기 때문이다. 다만 간결함을 살린 UI, 그리고 빠른 속도는 그런대로 좋은 평가를 듣고 있다.

그렇다면 과연 사파리의 속도는 어느 정도로 빠른 것일까? 단순히 체감상 빠르다, 느리다는 말을 해 봐야 별로 와 닿지는 않는다. 실질적으로 어느 정도나 빠른지 테스트를 해 봐야 하지 않을까?

그래서 해 봤다. 맥용 사파리와 윈도우즈용 사파리, IE7과 윈도우즈용 파이어폭스까지 망라해서, 자바스크립트와 CSS 스피드를 측정해 봤다.
테스트에 사용된 맥과 윈도우즈 PC의 사양은 다음과 같다.

테스트 하드웨어/OS
맥 : iMac 24" core2duo (2.16Ghz/2GB RAM) / MacOS 10.4.9
PC: AMD 64X2 3800+ (2Ghz/2GB RAM) / Windows XP SP2

테스트에 사용된 브라우저의 버전은 다음과 같다.

Safari (Mac) : 3.0 베타
Safari (Windows) : 3.0.1 베타
Internet Explorer 7: 최신 보안 패치 적용
Firefox : 2.0.0.4

첫 번째 테스트 항목은 Javascript Speed Test 4.0 - Real World였다. 이메일 어드레스를 만들고, zip 코드를 만들고, 백그라운드 컬러를 변경하고 이미지 롤오버를 실행하는 등의 작업을 반복해서 그 실행 속도를 체크하는 것이. 단, 테스트에 사용된 브라우저에선 백그라운드 컬러 변경 작업이 실행되지 않았다.
브라우저 캐쉬를 완전히 비우고 스크립트를 실행, 속도를 체크하는 작업을 반복하기를 세 번씩 되풀이해서 평균값을 낸 결과는 다음과 같다.
사용자 삽입 이미지
Safari는 맥 버전, 윈도우즈 버전 모두 인터넷 익스플로러 7보다 거의 4배 이상 빠른 실행 속도를 보여줬다. 파이어폭스조차 익스플로러보다 2배나 빨랐다.

그 다음엔 CSS 렌더링 벤치마크 테스트를 실행했다. 벤치마크 테스트 HTML 페이지를 로컬에 다운받아서 브라우저에서 열어 보면 2500개의 div 객체를 그리는 데 소요된 시간을 밀리세컨드(ms) 단위로 표시해 준다. 캐쉬를 완전히 비워 가면서 세 번씩 실행해서 평균값을 낸 결과는 다음과 같다.
사용자 삽입 이미지
이 테스트에서 사파리는 맥, 윈도우즈 버전을 가리지 않고 파이어폭스와 IE7을 열 배 이상의 속도차로 따돌리는 괴력을 보여 준다. 그러나 이것은 어디까지나 CSS 렌더링 속도를 비교한 것일 뿐이다. 후술하겠지만, 실제 페이지 렌더링 속도가 이만큼 차이가 나는 것은 절대로 아니다.

마지막으로 Benchmark-W3C DOM vs. innerHTML에서 자바스크립트 실행 속도를 체크했다. 여기선 50x50 테이블을 만들어 캐릭터를 삽입하는 데 소요되는 시간을 측정하는데, 각각 W3C DOM1, W3C DOM2, Table Methods, innerHTML 1, innerHTML 2등 다양한 방식의 스크립트로 벤치마킹을 할 수 있다.
사이트 운영자 자신이 벤치마킹한 결과는, 앞의 세 가지 방식 - W3C DOM 1, W3C DOM 2, Table Methods의 실행 속도는 IE 6 / 7 그리고 맥용 IE 5.2에서 제일 느렸다. 뒤의 innerHTML 1, innerHTML 2 방식은 IE 6 / 7이 다른 브라우저와 거의 대등한 결과를 보여줬다.
어쨌든, 각 브라우저에서 위 사이트의 스크립트를 5번씩 반복해서 평균값을 낸 결과는 다음과 같다.
사용자 삽입 이미지
놀랍게도, 맥용도 아닌 윈도우즈 버전의 사파리가 가장 빠른 속도를 나타냈다! (CPU 속도 차이에도 불구하고!) IE 7은 innerHTML 1, 2에서조차 파이어폭스에 뒤지는 실망스런 결과를 보여줬다.

그렇다면 과연 윈도우즈용의 사파리는 WWDC에서 스티브 잡스가 주장했듯이 '이 세상에서 가장 빠른 브라우저'일까? 결론부터 말하자면 '아니올시다'가 되겠다.

자바스크립트와 CSS 렌더링 속도가 빠르다고 해서 최고 속도의 브라우저가 될 수는 없다. 여기엔 몇 가지 이유가 있는데, 가장 큰 것은 그래픽 엔진이다.
맥용 사파리는 MacOS X에 최적화된 프로그램이다. 인터넷 익스플로러가 윈도우즈의 그래픽 인터페이스를 이용해서 화면을 그리듯이, 맥용 사파리는 MacOS X의 쿼츠 드로잉 엔진을 이용해 웹사이트를 렌더링한다. 일단 페이지가 로딩된 다음에 화면이 뿌려지는 속도는 다른 맥용 프로그램과 동일하다.
그러나 윈도우즈용 사파리는 MacOS X의 그래픽 엔진 일부를 윈도우즈용으로 포팅한 것을 사용한다. 당연한 얘기지만, 사파리도 최적화가 안 된 마당에 그래픽 엔진이 최적화가 됐을 리는 만무하다. 요컨대 페이지가 로딩된 뒤에 화면이 그려지는 속도는 다른 윈도우즈 프로그램에 비해 상당히 굼뜬 편이다.
자바스크립트 덩어리라고 할 수 있는 구글 맵스에서 스트리트 뷰를 실행시켜 보면 이 차이가 확연히 드러난다. 윈도우즈용 사파리의 반응 속도 자체는 나쁘지 않은데, 사람 아이콘을 움직였을 때 전체 지도가 움직이면서 거리 사진이 표시는 속도는 IE 7이나 파이어폭스에 비해 훨씬 느리다.

결론적으로 현재의 윈도우즈용 사파리는 몇몇 벤치마킹 사이트에서만 빠른 속도를 보여준다. 여기 대해서 많은 사람들은 숫자놀음을 해서 뭐 하냐고 비웃기 바쁠 것이다.
하지만 이건 애플이 처음 만든 윈도우즈용 웹브라우저란 사실을 잊어선 안 된다. 처음 만든 프로그램에서, 그것도 공짜로 배포되는 프로그램에서 이만한 결과물을 보여줬다는 것은, 대단히 무서운 일이다. 꾸준히 버전업되어 그래픽 엔진이 최적화된다면 파이어폭스의 좋은 경쟁자로 자리잡을 수 있을 것이다.
2007/06/16 23:19 2007/06/16 23:19