Developer finds WebKit keeps 39 MB alive per hibernated tab, defying browser memory savings
A developer building a macOS browser called Kestrel discovered a critical flaw in their memory-management design after testing it against Apple's WebKit engine. The browser was designed to demote background tabs through four states — Live, Warm, Cold, and Stub — to stay within a user-defined memory budget. Simulations predicted 7.9–11.5x memory savings, but real-world results showed only 1.4–2.6x, with state loss reduced rather than eliminated. The gap stems from WebKit's renderer process surviving tab hibernation at 39 MB per tab, versus the simulated cost of 32 KB, a difference of three orders of magnitude. Additionally, the tab states did not scale in cost as expected — destroying a web view entirely used more memory than keeping it, making a reliable scheduling ladder impossible on this engine.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in