How web browsers use processes and threads

Ravindu Senal Fernando
2 min readJul 17, 2020

--

I will use Firefox and Chrome web browsers, two of the most popular web browsers in today’s world to explain about how web browsers use processes and threads

Basically recent versions of Firefox and Chrome uses multi-process architecture but Firefox does some things different compared to Chrome which makes it much more memory efficient and fast.

By default, Chrome creates a separate content process for each instance of a site that you visit. For example if you open 10 different tabs in Chrome, and you will have 10 different processes. Each of those processes has its own memory therefore one open tab will consume hundreds of megabytes of RAM. Chrome’s approach in creating new tabs can lead to very high memory usage.

Recent versions of Firefox creates up to 4 separate processes for web page content by default. So, your first 4 tabs each uses 4 processes, and additional tabs run using threads within those processes. Multiple tabs within a process share the browser engine that already exists in memory, instead of each creating their own. Which causes Firefox using less memory.

Chrome uses a separate content process and engine for each website instance,
but Firefox reuses processes and engines to limit memory usage.

If you have more RAM (more than 8GB) you can increase the number of content processes Firefox uses, which will make Firefox more fast but the memory usage will be increased. To change the number of content processes Firefox uses, enter about:config in your address bar, and adjust the number for the dom.ipc.processCount setting.

--

--