2018.01.29

“빠르게 더 빠르게” 자바스크립트 노린 최신 파이어폭스 퀀텀

Gregg Keizer | Computerworld
모질라는 지난 윈도우와 맥OS, 리눅스용 파이어폭스 58을 발표했다. 자바스크립트를 처리하는 방법을 개선한 이번 버전은 페이지 로드 속도를 더욱 높였다.



새로운 자바스크립트 캐시
파이어폭스 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

2018.01.29

“빠르게 더 빠르게” 자바스크립트 노린 최신 파이어폭스 퀀텀

Gregg Keizer | Computerworld
모질라는 지난 윈도우와 맥OS, 리눅스용 파이어폭스 58을 발표했다. 자바스크립트를 처리하는 방법을 개선한 이번 버전은 페이지 로드 속도를 더욱 높였다.



새로운 자바스크립트 캐시
파이어폭스 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

X