새로운 자바스크립트 캐시
파이어폭스 58에서도 2017년 퀀텀의 주제가 그대로 이어진다. 바로 속도인데, 이번에는 자바스크립트 코드 처리 방법을 개선했다. JSBC(JavaScript Startup Bytecode Cache)란 새 방식은 더 빠른 페이지 로드 시간을 위해 메모리를 희생했다.
모질라의 컴파일러 엔지니어 니콜라스 피에론은 “JSBC는 네트워크 캐시에서 사용된 자바스크립트 함수의 바이트코드를 절감해 웹 페이지의 기동을 개선하고자 한다”라고 설명했다. 속도 향상을 위해 추가 메모리를 캐시로 사용하기 때문에 JSBC는 한 웹 사이트를 네 번째 방문할 때 동작한다. 자바스크립트를 자주 로딩하는 사이트에서는 JSBC가 페이지 로딩 시간을 12%(페이스북의 예)나 줄여준다. 하지만 피에론은 대부분 사이트에서 속도는 한 자릿수 정도 증가한다고 밝혔다. 예를 들어, 아마존은 5%, 위키피디아는 8% 정도이다.
단점도 있다. 자바스크립트를 저장하는 데 메모리를 사용하기 때문에 메모리 점유율이 높아진다. 피에론은 JSBC를 구현하는 데 드는 메모리양을 정확하게 밝히지는 않았다.
멀티 쓰레딩을 이용한 속도 개선
파이어폭스 58에 도입된 또 하나의 속도 증가 방안은 웹페이지를 구성하는 데 사용되는 단계를 서로 다른 CPU 프로세스로 분리하는 것이다. 모질라는 이 기술을 “전용 CPU 쓰레드를 사용해 화면을 더 효율적으로 그리는 것”이라고 설명했는데, 전용 쓰레드를 자바스크립트 프레임율을 개선하는 데 사용한다. 하지만 이 기법은 윈도우 버전에만 적용된다. 모질라는 이 기술을 OMT(Off-Main-Thread painting)라고 부른다,
기존에는 여러 페이지를 구성하는 작업은 단일 프로세서 쓰레드 상에서 이루어졌는데, OMT는 일부 작업, 특히 그래픽 명령어와 이를 통해 생성되는 픽셀을 디스플레이에 보여주는 작업을 전용 쓰레드에 할당한다. 주 쓰레드의 부하가 줄어들면서 파이어폭스는 프레임을 빠트리지 않고 높은 프레임율을 유지하며 시간 내에 페이지를 구성할 수 있다.
JSBC와 마찬가지로 OMT 역시 자바스크립트를 목표로 하는데, 자바스크립트가 높은 프레임율의 콘텐츠를 많이 생성하기 때문이다. 모질라는 윈도우 환경의 자바스크립트 중심 벤치마크에서 30%의 속도 향상을 기록했다고 주장했다.
기존 파이어폭스 사용자는 백그라운드에서 업데이트가 진행되기 때문에 브라우저를 재실행하는 것만으로 업데이트가 적용된다. 수동 업데이트는 우측 상단의 메뉴바를 클릭한 후 물음표 표시가 있는 도움말 메뉴에서 파이어폭스 정보를 선택한다. 팝업 창을 통해 최신 버전인지를 확인할 수 있고, 업데이트 과정도 알려준다.
모질라는 통상 파이어폭스를 6~8주 주기로 업데이트하는데, 연말 즈음에는 주기가 길어지는 경향이 있다. 이전 버전인 파이어폭스 57 퀀텀은 지난 해 11월 14일 업데이트됐는데, 10주 전이다. 다음 업데이트는 3월 12일로 예상된다. editor@itworld.co.kr