You are assuming that the faults are not in Firefox. Firefox has lots of problems, including managing memory, unnecessary IO, etc., etc.
105363 items (97572 unread) in 19 feeds
Friends
(1021 unread)
Build
(68091 unread)
Heads
(716 unread)
News
(27537 unread)
fun
(207 unread)
You are assuming that the faults are not in Firefox. Firefox has lots of problems, including managing memory, unnecessary IO, etc., etc.
Good point Matt, though you make me realize I also forgot up-front overhead (6MB for tcmalloc) and how fast memory is returned to the OS (tcmalloc is not very good about this).
You forgot about overhead per allocation. To quote google’s page:
Another benefit of TCMalloc is space-efficient representation of small objects. For example, N 8-byte objects can be allocated while using space approximately 8N * 1.01 bytes. I.e., a one-percent space overhead. ptmalloc2 uses a four-byte header for each object and (I think) rounds up the size to a multiple of 8 bytes and ends up using 16N bytes.
I didn’t find any info on TSLF’s page on overhead, but I think its important, especially for dynamic languages where the VM makes lots of small allocations