본문으로 건너뛰기

"벤치마크" 태그로 연결된 8개 게시물개의 게시물이 있습니다.

모든 태그 보기

V8의 성능 가속화 – 가변 힙 숫자를 활용한 개선

· 약 5분
[Victor Gomes](https://twitter.com/VictorBFG), 비트 건너기 전문

V8에서는 JavaScript 성능을 지속적으로 개선하고 있습니다. 이러한 노력의 일환으로 최근 JetStream2 벤치마크 스위트를 재검토하여 성능 급락 현상을 제거했습니다. 이 글에서는 async-fs 벤치마크에서 2.5배라는 획기적인 성능 향상을 가져온 특정 최적화 작업을 다룹니다. 이 작업은 전체 점수의 괄목할 만한 상승에 기여했습니다. 최적화는 벤치마크에서 영감을 받았지만, 이러한 패턴은 실제 코드에서도 나타나고 있습니다.

V8는 더욱 빠르고 안전해졌습니다!

· 약 6분
[Victor Gomes](https://twitter.com/VictorBFG), 글뤼바인의 전문가

V8의 짜릿한 세계에 오신 것을 환영합니다. 여기서는 속도가 단순한 기능이 아닌 삶의 방식입니다. 2023년을 보내며 V8이 올해 이룩한 놀라운 성과를 축하할 때입니다.

혁신적인 성능 최적화를 통해 V8은 웹의 끊임없이 진화하는 환경에서 가능한 것의 경계를 계속해서 넓혀가고 있습니다. 우리는 새로운 중간 단계 컴파일러를 도입하고, 최고 단계 컴파일러 인프라, 런타임 및 가비지 컬렉터에 여러 가지 개선을 적용하여 전반적으로 상당한 속도 향상을 이루었습니다.

크롬, Speedometer 2.0을 환영합니다!

· 약 3분
Blink 팀과 V8 팀

Speedometer 1.0이 2014년에 처음 출시된 이후, Blink와 V8 팀은 이 벤치마크를 인기 있는 JavaScript 프레임워크의 실제 사용을 위한 기준으로 삼아왔으며 상당한 속도 향상을 달성했습니다. 이러한 향상이 실제 사용자에게 주는 혜택을 실시간 웹사이트를 측정하여 독립적으로 확인했으며, 인기 있는 웹사이트의 페이지 로드 시간이 개선됨에 따라 Speedometer 점수도 향상되었습니다.

웹 툴링 벤치마크 발표

· 약 5분
Benedikt Meurer ([@bmeurer](https://twitter.com/bmeurer)), 자바스크립트 성능 전문가

자바스크립트 성능은 항상 V8 팀의 중요 관심사였으며, 이번 포스트에서는 최근에 V8에서 일부 성능 병목 현상을 식별하고 수정하기 위해 사용한 최신 자바스크립트 웹 툴링 벤치마크에 대해 논의하고자 합니다. 이미 V8의 Node.js에 대한 강력한 의지에 대해 알고 계실 수도 있습니다. 이 벤치마크는 Node.js를 기반으로 개발된 일반적인 개발자 도구를 사용하여 성능 테스트를 실행함으로써 이러한 의지를 확장합니다. 웹 툴링 벤치마크 도구는 오늘날 개발자와 디자이너가 현대 웹 사이트나 클라우드 기반 애플리케이션을 구축하기 위해 사용하는 동일한 도구들로 구성되어 있습니다. 실제 성능에 집중하려는 지속적인 노력의 일환으로, 매일 개발자가 실행하는 실제 코드로 벤치마크를 작성하였습니다.

V8에 ES2015 프록시를 최적화하기

· 약 6분
Maya Armyanova ([@Zmayski](https://twitter.com/Zmayski)), 프록시 최적화 담당

프록시는 ES2015 이래 JavaScript에서 중요한 부분이었습니다. 이들은 객체에 대해 근본적인 작업을 가로채고 동작을 사용자 정의할 수 있게 해줍니다. 프록시는 jsdomComlink RPC 라이브러리와 같은 프로젝트의 핵심 부분을 형성합니다. 최근에 우리는 V8에서 프록시 성능을 개선하기 위해 많은 노력을 기울였습니다. 이 글은 V8에서의 일반적인 성능 개선 패턴과 특히 프록시에 대해 설명합니다.

Octane 은퇴

· 약 5분
V8 팀

JavaScript 벤치마크의 역사는 지속적인 진화의 이야기입니다. 웹이 단순한 문서에서 동적 클라이언트 측 애플리케이션으로 확장되면서, 새로운 JavaScript 벤치마크가 새로운 사용 사례를 위한 중요한 작업 부하를 측정하기 위해 만들어졌습니다. 이러한 지속적인 변화로 인해 개별 벤치마크의 수명이 제한됩니다. 웹 브라우저와 가상 머신(VM) 구현이 특정 테스트 케이스를 과도하게 최적화하기 시작하면 벤치마크 자체는 원래 사용 사례에 대한 효과적인 대리 역할을 하지 못하게 됩니다. 초기 JavaScript 벤치마크 중 하나인 SunSpider는 빠른 최적화 컴파일러를 제공하기 위한 초기 유인을 제공했습니다. 그러나 VM 엔지니어들이 미세 벤치마크의 한계를 발견하고 SunSpider의 제한최적화 방법을 찾으면서 브라우저 커뮤니티는 SunSpider를 은퇴시켰습니다.

V8가 실제 성능을 측정하는 방법

· 약 5분
V8 팀

지난 1년 동안 V8 팀은 실제 JavaScript 성능을 측정하고 이해하기 위한 새로운 방법론을 개발했습니다. 이를 통해 얻은 통찰력을 바탕으로, V8 팀이 JavaScript를 더욱 빠르게 만들기 위한 방식을 변화시켰습니다. 우리의 새로운 실제 환경 중심의 접근법은 전통적인 성능 중심에서 중요한 변화의 순간을 나타냅니다. 2017년에도 이 방법론을 계속 적용하면서, Chrome과 Node.js 모두에서 실제 JavaScript를 위한 예측 가능한 성능에 의존할 수 있는 사용자와 개발자의 능력을 크게 향상시킬 것이라고 확신합니다.

V8 메모리 소비 최적화

· 약 7분
V8 메모리 정화 엔지니어들 울란 데겐바에브, 마이클 리파우츠, 하네스 파이어, 그리고 툰 베르바에스트

메모리 소비는 자바스크립트 가상머신 성능상의 트레이드오프 공간에서 중요한 측면입니다. 지난 몇 달 동안 V8 팀은 현대 웹 개발 패턴을 대표하는 여러 웹사이트를 분석하고 메모리 사용량을 크게 줄였습니다. 이번 블로그 포스트에서는 우리가 분석에 사용한 작업과 도구를 소개하고, 가비지 컬렉터에서의 메모리 최적화를 개관하며, V8의 파서와 컴파일러에서 소비되는 메모리를 어떻게 줄였는지 보여줍니다.