Chrome이 Multi Thread가 아닌 Multi Process를 이용하는 이유

Binceline 2021. 6. 15. 14:05

장점

1. Process는 메모리를 공유하지 않기 때문에 메모리 공격에 안전하다.

2. 서로 다른 사이트의 Frame / Tab을 서로 다른 렌더러가 담당하도록 해서 Same Origin Policy를 적용한다.

3. Process는 죽어도 다른 프로세스가 죽지 않는다. 한 탭의 Renderer Process가 죽어도 다른 탭이 죽지 않는다.

 

단점

1. 메모리 사용량 증가: Process는 메모리를 공유하지 않기 때문에 Process 별로 하나의 자바스크립트 엔진 코드를 들고 있어야 한다. 

2. IPC: 프로세스간의 통신을 이용하는 코드가 많아지면서 코딩 난이도 상승. 그리고 송신-수신 이벤트를 받아서 처리하기 때문에 속도가 조금 느려진다.

 

기타

- 하드웨어 성능에 따라 프로세스를 나누거나 합치기도 한다.

반응형