인터넷 초창기부터 사용한 30,40대 분들은 웹 브라우저 역사를 잘 아실 겁니다. 제가 인터넷을 처음 접하던 것이 1996년이었습니다. 군대에서 인터넷이라는 것이 있다는 소리르 책으로 읽고 이게 뭔지?라는 생각이 들었습니다. 전역하자마자 PC를 사고 모뎀으로 인터넷에 연결했습니다. 당시는 넷스케이프가 1위를 차지하고 있었습니다. 이후 MS사가 익스플로러를 내놓고 익스플로러3.0 부터 사용했습니다. 그렇게 익스플로러와 넷스케이프 전쟁이 시작되었고 아시다시피 윈도우 번들로 제공하는 익스플로로러의 승리로 끝이 납니다. 

이후 익스플로러가 웹 브라우저 시장을 장악했고 이 거대한 독재는 끝나지 않을 것 같았습니다. 경쟁상대가 사라진 익스플로러는 익스플로러 6.5에서 진화를 멈추고 수 년 간 업데이트도 하지 않으면서 기능 개선을 내팽겨쳤습니다. 

이 틈을 노려서 2008년 구글이 크롬 웹브라우저를 선보입니다. 당시만 해도 무모한 행동이다라는 비판이 많았지만 크롬 웹브라우저는 빠른 속도를 앞세워서 시장을 장악하기 시작합니다. 지금은 한국을 비롯한 몇몇 나라만 빼고 크롬 웹브라우저를 많이 사용하는 나라가 대부분입니다. 

저도 구글 크롬 웹브라우저를 애용합니다. MS사가 엣지 브라우저를 내놓아도 크롬의 속도와 편의를 따라가지 못합니다. 네이버 웨일 웹 브라우저도 마찬가지입니다. 크롬을 대신할 웹브라우저는 파이어폭스 정도지 대체할 웹 브라우저는 많지 않습니다. 


2008년 9월 2일 태어난 구글 크롬은 올해로 10년이 되었습니다. 현재 구글 크롬 웹브라우저는 시장 점유율 60%로 MS사의 익스플로러와 엣지 브라우저를 가볍게 누르고 1위를 차지하고 있습니다. 


지난 10년 간 구글 크롬 웹브라우저는 얼마나 더 빨라졌나?


구글 크롬 웹브라우저 속도

구글 크롬 웹브라우저는 속도, 보안, 안전성, 단순성 4가지 기본 원칙으로 개발이 되고 있습니다. 이중에서도 속도는 크롬의 아이덴티티이자 최대 장점입니다. 메모리 잡아 먹는 괴물이라는 소리가 있지만 웹 페이지 뜨는 속도가 엄청나게 빠릅니다. 특히 여러 개의 웹 페이지를 띄워도 속도가 느려지지 않습니다. 

이 크롬이 10년이 되었네요. 현재 크롬 웹브라우저는 69 패치 노트까지 업데이트가 되었습니다. 구글 크롬 웹브라우저 10주년 기념으로 크롬 개발자가 속도가 얼마나 빨라졌는지 블로그에 소개했습니다. 이 글을 번역해서 소개합니다.


구글 크롬 웹브라우저 그래프

해마다 웹 페이지의 자바스크립트 사용이 증가하고 있습니다. 자바 스크립트는 크롬에 포함 된 V8 엔진으로 처리되고 있습니다. 2017년 인터프리터와 컴파일러 업데이트를 통해서 기존보다 5~10% 정도 크롬 웹브라우저 속도가 빨라졌습니다. 또한 스크립트 스트리밍 기술로 페이지 로딩을 최대 10% 빠르게 했고 백그라운드 컴파일 기술로 최대 20% 컴파일 시간을 줄였습니다. 

또한 Orinoco 프로젝트를 통해서 짧은 시간에 많은 데이터를 수집해서 스크롤이 순간 멈추려고 하는 jank 동작을 감소 시킬 수 있었습니다. 2018년에는 속도의 지표를 수정해서 React, Vue, Angular 등의 프레임 워크이 동작 속도를 향상 시켰습니다. 또한 2016년에는 브라우저에서 바이너리 코드를 실행할 수 있는 WebAssembly도 구현했습니다. 위와 같은 노력으로 V8 엔진의 벤치 마크 점수는 10년 동안 3배나 좋아졌습니다. 

구글은 크롬의 속도 개선을 위해서 HTTP/2 프로토콜과 QUIC  프로토콜의 개발도 추진했습니다. HTTP/2는 2015년에 정식으로 승인되었습니다. 또한 QUIC 프로토콜을 사용해서 유튜브 동영상을 시청할 때 리버프율을 30% 정도 줄일 수 있었습니다. 랜더링 파이프 라인도 개선했습니다.


구글 크롬 웹브라우저

크롬은 60fps 화면을 작동시키기 위해서 자바스크립트 실행, 스타일 적용, 레이아웃 계산, 그리기 같은 랜더링 공정에 사용하는 시간을 총 16ms 이하에서 구현할 수 있도록 만들고 있습니다. 2015년에는 사용자 경험을 해치지 않는 퍼포먼스 모델 RAIL을 도입했습니다. 이외에도 크롬 63에서 66까지 랜더링하는 프로세스 메모리 사용량을 20~30% 절감하고 V8 엔진의 인터프리터와 컴파일러 업데이트를 통해 V8 엔지 메모리 사용량을 5~10% 줄였습니다. 


웹 사이트를 만드는 웹 개발자가 사이트 성능을 개선할 수 있도록 라이트하우스라는 분석 도그를 개발했습니다. 라이트하우스를 사용하여 웹 개발자는 자신의 사이트 성능을 향상시키기 위해서 무엇을 해야 하는지 알 서 있습니다.


 크롬 40부터는 오프라인 캐시와 푸시 알림을 사용할 수 있도록 '서비스 작업자' 기능이 추가되었습니다. 구글 검색이 서비스 작업자와 검색 사전 로드 기능을 통해서 페이지 로딩 속도가 반으로 줄었습니다. 이외에도 통신시 데이터 소비를 92% 절감할 수 있는 크롬 확작 프로그램 'Date Saver'를 출시해서 네트워크 속도가 느린 유저들도 배려하고 있습니다. 


솔직히 이 내용이 무슨 내용인지 제대로 아는 분은 많지 않고 저도 다 아는 건 아닙니다. 다만 구글이 속도 향상을 위해서 꾸준히 노력하고 개선하고 있다는 점과 크롬의 문제점으로 지적한 메모리를 너무 많이 사용하는 문제도 꾸준히 개선하고 있네요. 이렇게 계속 진화를 하니 다른 웹 브라우저들이 따라올 수가 없습니다. 

출처 : 구글 크롬 공식 블로그

썬도그
하단 박스 

댓글을 달아 주세요

  1. 메모 2018.09.16 04:26 신고  댓글주소  수정/삭제  댓글쓰기

    전 크롬보다는 사파리를 씁니다. 속도 차이는 사파리가 더 빠르기도 하고, 보안에 있어서도 완벽에 가깝거든요. 구글은 최근에 위치 정보를 꺼두어도 계속 추적한다는 사실이 드러나면서, 구글에 대한 신뢰가 조금 깨져버렸거든요.

    사파리로 패스워드하고 애플아이디를 묶어두면, 모든 애플 디바이스에서 편하게 쓸 수 있어서 좋아요. 전 어차피 맥/아이패드/아이폰/애플TV 로 모두 생태계를 묶어두니까 정말 편리하거든요.