2020.11.18

파이어폭스 83, 'JS' 성능 강화··· 워프 업데이트 기본 활성화

Paul Krill | InfoWorld
파이어폭스 83.0 버전에서 스파이더몽키(SpiderMonkey)의 주요 업데이트 ‘워프(Warp)’가 기본 활성화됐다. 스파이더몽키는 파이어폭스 웹 브라우저에서 사용되는 자바스크립트 엔진이다. 

회사에 따르면 ‘워프빌더(WarpBuilder)’라고도 부르는 ‘워프’는 JIT(Just-In-Time) 컴파일러를 변경해 응답 속도, 페이지로드 속도, 메모리 사용량을 개선했다. 
 
ⓒPublicDomainPictures (CC0)

최적화된 JIT는 단순 선형 바이트코드 포맷인 ‘캐시IR(CacheIR)’, 특히 기준 계층에서 수집한 캐시IR 데이터만 사용하도록 변경됐다. 또한 브라우저에서 활용되는 새 아키텍처는 유지관리가 쉽고 추가적인 스파이더몽키 개선사항을 활성화할 수 있다고 모질라는 전했다. 

지난 10월 20일 베타 버전으로 공개됐었던 ‘파이어폭스 83’은 바로 어제인 11월 17일 정식 출시됐다. 모질라는 워프가 구글 독스(Google Docs) 로딩 시간을 20% 단축하는 등 스파이더몽키의 이전 JIT 최적화 버전(Ion)보다 더 빠르다고 설명했다. 넷플릭스(Netflix) 및 레딧(Reddit) 같은 자바스크립트 집약적인 웹사이트에서도 페이지로드 및 응답 속도가 개선된 것으로 확인됐다고 회사 측은 언급했다. 

캐시IR을 기반으로 하는 워프를 사용하면, ‘이온빌더(IonBuilder)’와 달리 글로벌 타입의 추론 데이터를 추적하는 데 필요한 엔진 전체에서 코드를 제거해 속도를 높일 수 있다는 게 회사 측 설명이다. 이온빌더와 워프빌더 모두 JIT 백엔드를 최적화하는 중간 코드(Intermediate Representation, IR)인 ‘이온 MIR(Ion MIR)’을 생성하지만 이온빌더에는 워프빌더에선 필요하지 않은 복잡한 코드가 많았다. 

또한 워프는 스레드 밖에서 더 많은 작업을 수행할 수 있으며 리컴파일이 더 적게 필요하다. 물론 아직까지는 일부 합성(Synthetic) 벤치마크에서 워프가 이온보다 느린 상태다. 모질라는 앞으로 계속해서 워프를 최적화해 나갈 것이라고 말했다. 

향후 계획과 관련해서는 현재 워프를 통해 이온몽키(IonMonky) JIT의 프론트엔드(MIR 구축 단계)를 대체한 상태라면서, 다음 단계는 오래된 코드와 아키텍처를 제거하는 것이라고 모질라는 전했다. 이 단계는 파이어폭스 85.0 버전에서 진행될 계획이며, 이를 통해 추가적인 성능 및 메모리 사용량 개선이 이뤄지리라 본다고 회사 측은 설명했다.

이어서 모질라는 자바스크립트 집약적인 워크로드를 개선할 여지가 여전히 많다고 본다면서, 이온몽키 JIT 백엔드를 계속해서 최적화할 것이라고 밝혔다. 또한 웹 개발자와 모질라가 자바스크립트 함수에 관한 캐시IR 데이터를 탐색할 수 있는 도구도 개발 중이라고 덧붙였다. ciokr@idg.co.kr
 



2020.11.18

파이어폭스 83, 'JS' 성능 강화··· 워프 업데이트 기본 활성화

Paul Krill | InfoWorld
파이어폭스 83.0 버전에서 스파이더몽키(SpiderMonkey)의 주요 업데이트 ‘워프(Warp)’가 기본 활성화됐다. 스파이더몽키는 파이어폭스 웹 브라우저에서 사용되는 자바스크립트 엔진이다. 

회사에 따르면 ‘워프빌더(WarpBuilder)’라고도 부르는 ‘워프’는 JIT(Just-In-Time) 컴파일러를 변경해 응답 속도, 페이지로드 속도, 메모리 사용량을 개선했다. 
 
ⓒPublicDomainPictures (CC0)

최적화된 JIT는 단순 선형 바이트코드 포맷인 ‘캐시IR(CacheIR)’, 특히 기준 계층에서 수집한 캐시IR 데이터만 사용하도록 변경됐다. 또한 브라우저에서 활용되는 새 아키텍처는 유지관리가 쉽고 추가적인 스파이더몽키 개선사항을 활성화할 수 있다고 모질라는 전했다. 

지난 10월 20일 베타 버전으로 공개됐었던 ‘파이어폭스 83’은 바로 어제인 11월 17일 정식 출시됐다. 모질라는 워프가 구글 독스(Google Docs) 로딩 시간을 20% 단축하는 등 스파이더몽키의 이전 JIT 최적화 버전(Ion)보다 더 빠르다고 설명했다. 넷플릭스(Netflix) 및 레딧(Reddit) 같은 자바스크립트 집약적인 웹사이트에서도 페이지로드 및 응답 속도가 개선된 것으로 확인됐다고 회사 측은 언급했다. 

캐시IR을 기반으로 하는 워프를 사용하면, ‘이온빌더(IonBuilder)’와 달리 글로벌 타입의 추론 데이터를 추적하는 데 필요한 엔진 전체에서 코드를 제거해 속도를 높일 수 있다는 게 회사 측 설명이다. 이온빌더와 워프빌더 모두 JIT 백엔드를 최적화하는 중간 코드(Intermediate Representation, IR)인 ‘이온 MIR(Ion MIR)’을 생성하지만 이온빌더에는 워프빌더에선 필요하지 않은 복잡한 코드가 많았다. 

또한 워프는 스레드 밖에서 더 많은 작업을 수행할 수 있으며 리컴파일이 더 적게 필요하다. 물론 아직까지는 일부 합성(Synthetic) 벤치마크에서 워프가 이온보다 느린 상태다. 모질라는 앞으로 계속해서 워프를 최적화해 나갈 것이라고 말했다. 

향후 계획과 관련해서는 현재 워프를 통해 이온몽키(IonMonky) JIT의 프론트엔드(MIR 구축 단계)를 대체한 상태라면서, 다음 단계는 오래된 코드와 아키텍처를 제거하는 것이라고 모질라는 전했다. 이 단계는 파이어폭스 85.0 버전에서 진행될 계획이며, 이를 통해 추가적인 성능 및 메모리 사용량 개선이 이뤄지리라 본다고 회사 측은 설명했다.

이어서 모질라는 자바스크립트 집약적인 워크로드를 개선할 여지가 여전히 많다고 본다면서, 이온몽키 JIT 백엔드를 계속해서 최적화할 것이라고 밝혔다. 또한 웹 개발자와 모질라가 자바스크립트 함수에 관한 캐시IR 데이터를 탐색할 수 있는 도구도 개발 중이라고 덧붙였다. ciokr@idg.co.kr
 

X