Rev. 2.73

jQuery 자바스크립트 라이브러리를 개발한 John Resig씨는 대표적인 자바스크립트 라이브러리들의 로딩 스피드를 측정하면서 재미있는 사실을 알아냈다. 결과는 jQuery가 가장 빨랐다. 여기서 주목해야 할 부분은 가장 빠른 로딩속도를 가진 라이브러리가 무엇인지 따지는 것이 아니라 자바스크립트 파일 크기와 읽기 속도는 항상 비례하지 않는다는 것이다.

Total_Speed = Time_to_Download + Time_to_Evaluate 

외부 자바스크립트 파일의 용량을 줄이기 위한 방법으로는 GZip으로 압축전송하는 방법 외에도 Minify하거나, Packing하는 방법이 있다. Minify는 파일 내부의 개행과 주석 그리고 인텐트(들여쓰기) 등, 시스템이 이해하기에 불표한 문자열을 제거하여 용량을 줄이는 방법이고 Packing은 여러가지 압축기법으로 문장을 암호화하여 브라우저의 인터프리터에 의존해 해석(Evaluate)하는 방식으로 Minified 파일보다 압축률이 훨씬 높다. Packed 파일은 곧 브라우저가 해석하기 위한 시간을 추가로 소모한다는 얘기다. jQuery를 대상으로 테스트 한 결과 Minified 파일의 로딩 시간은 519.7214ms이며 Packed 파일은 591.6636ms 그리고 아무런 압축도 가하지 않은 파일의 로딩시간은 645.4818ms가 걸렸다.

Packed한 자바스크립트 파일은 압축성능이 뛰어난 반면 브라우저의 처리능력에 크게 영향을 받아 클라이언트 측의 상황에 따라서 좋지않은 결과를 초래할 수도 있다는 것이다.

Comments

IE8의 베타판이 공개되어 화두가 되고있는 가운데, IE8은 파이어폭스3와 한판 승부를 가릴 것으로 예상되고 있다. 현존하는 주요 브라우저와 앞으로 출시될 브라우저의 자바스크립트 성능과 DOM 렌더링 성능을 측정한 자료가 있어 소개한다.

JavaScript Performance (Engine)

JavaScript Performance (Engine)
주요 테스트항목은 TDL Compiling / parsing, Javascript XPath 2.0 Engine, XEL execution / event propagation이다. 파이어폭스3 nightly 27-02버전의 측정결과는 매우 놀랍다. 파이어폭스2에 비해 3배 빠른 자바스크립트 처리성능을 보여주고 있기 때문이다. IE역시 종전의 버전에 비해 빠른 성능을 보여주고는 있지만, 그리 놀라울 정도는 아니다. 이에 질세라 사파리3 브라우저 또한 경쟁력을 가질만한 성능을 보여주고 있다. 그런데 지금까지 자바스크립트 성능부문에서 최강좌를 지켜온 오페라는 완전히 전세가 역전되고 말았다.(결과가 조금 의하한 부분이다.)

Render Performance (DOM)

Render Performance (DOM)
주요 테스트 항목은 Rendering 1 accordion, Rendering 5 accordions, Gendering a listGrid, 등이다. 테스트 결과 사파리3 계열 브라우저가 가장 빠른 렌더링 속도를 갖추고 있으며, 이어서 파이어폭스3, 오페라9 브라우저가 뒤따르고 있다. Webkit 엔진을 사용하는 사파리3는 상대적으로 느린 드로잉 속도를 가진 IE계열 브라우저보다 5배이상 빠른것으로 드러났다. 특히, 인터페이스 반응이 빨라져 예전보다 더욱 가벼운것 처럼 느껴졌던 IE8은 최저속도를 기록했다.(IE7 모드로 테스트 했다고 한다.)

표준을 지향하겠다고 나선 IE8의 행보는 옳다고 생각하지만, 성능차이가 위험 수위 이상인 것으로 판단된다. 이대로라면 IE의 점유율이 곤두박질 치는 것은 시간문제 아닐까? 보다 자세한 자료는 구글닥스에서 확인 할 수 있다.

Comments

firecookie.gif

Jan Odvárko씨는 파이어폭스의 강력한 디버그 플러그인인 Firebug의 기능을 확장하는 Firecookie를 제작했다. YSlow와 비슷한 형태로 추가되는 이 확장기능은 쿠키의 생성, 삭제, 갱신, 호출 되는 것을 모니터링 하여 실시간으로 Firebug의 콘솔에 정보를 보여주고 관리할 수 있게 한다.

Comments