Linked by Thom Holwerda on Wed 13th Feb 2008 14:32 UTC, submitted by mikemuch
Mozilla & Gecko clones Mozilla has announced the official release of the third Firefox 3 beta, which includes many user interface improvements and a handful of new features. Firefox 3 is rapidly approaching completion, and much of the work that remains to be done is primarily in the category of fit and finish. There will likely only be one more beta release after this one before Mozilla begins issuing final release candidates. Additionally, jemalloc from FreeBSD will be the default internal memory allocator for Firefox.
Thread beginning with comment 300901
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: memory manager
by rexstuff on Thu 14th Feb 2008 01:18 UTC in reply to "memory manager"
rexstuff
Member since:
2007-04-06

There are a lot of good reasons to implement your own memory manager in lieu of the OS's. For one thing, the OS's allocator has to be a general allocator that works well in -all- applications, sometimes at the cost of peformance in specific cases. Your own memory manager can be tailored to your specific needs. Secondly, everytime you do a malloc(), you're making a system call and a full context-switch is required, with associated performance overhead. Lastly, many of the general memory managers can have fragmentation issues, minimum page sizes and all that which can add overhead and cause a program to use more memory than it actually needs to.

Google actually has its own memory manager, tmalloc or some such, which apparently runs well in multi-thread applications; I wonder why we don't see more of that being used, especially in the case of browsers where there tend to run a lot of threads doing a lot of caching...

Reply Parent Score: 2

RE[2]: memory manager
by siride on Thu 14th Feb 2008 13:55 in reply to "RE: memory manager"
siride Member since:
2006-01-02

Secondly, everytime you do a malloc(), you're making a system call and a full context-switch is required, with associated performance overhead.

Uhh, no it doesn't. malloc() isn't a system call, it's part of the C library. It only makes system calls if it needs to increase the size of the heap (or do an mmap() for large blocks of memory). Otherwise, it simple mucks around with some pointers in userspace and returns a chunk of memory, which may be quite fast.

Reply Parent Score: 2