Storage and Memory Overhead
To see the impact of state isolation, we measured the
disk and memory space required for visiting 12 popular sites
in their own tabs, similar to the sites used in Figure 4.
Chromium stores a user's persistent state in a congurable
prole directory, so we compared three conditions: all sites
in a single Chromium prole, all in a single Chromium prole
as isolated apps, and each in a separate Chromium prole.
For sites that did not require HTTPS, we used pre-recorded
network data to reduce variability. For Gmail, Bank of
America, and Chase Bank, we logged into an account. We
report the average of three trials.
Visiting all sites in a single prole required 19 MB of disk
space. Using isolated apps required 86 MB, while multiple
browsers required 117 MB. Each of these proles includes
a partial download of Chromium's Safe Browsing database
(2.6 MB), which is a source of overhead for each additional
browser prole.
We were surprised that isolated apps required over 4 times
the space of a single prole. This is because Chromium
aggressively allocates disk space for each cache. This behavior
could be modied to be less aggressive for isolated apps.
Users could also opt for an in-memory cache for isolated
apps, which retains the security benets and lowers the disk
space required to 9.6 MB.
The total resident memory required for visiting all sites
in separate tabs of a single prole was 729 MB.1 We found
that using isolated apps used a comparable 730 MB, while
using a separate browser for each site used an aggregate of
1.83 GB memory.
These results show that by using isolated apps rather than
multiple browsers, we can reduce the performance trade-o
required for our security benets.