Firefox 3 with FreeBSD technologies

firefox logoFirefox 3 is released and got off to a fantastic start: more than 8 million downloads within 24 hours, peaking at 17.000 downloads a minute.

Everybody browsing the internet uses (unconsciously) FreeBSD technology, such as TCP/IP, and a few only know that Firefox 3 comes integrated with some exciting FreeBSD technologies.

Murray Stokely has summarised:

The most widely publicized is probably the addition of Jason Evan’s memory allocator, jemalloc (link 1, link 2) written for FreeBSD 7.0 which has been included into Firefox to reduce memory fragmentation.

Another FreeBSD technology widely adopted by other products utilizing binary updates is Colin Percival’s bspatch client-side binary patching code. Kris Kennaway also notes that the ISC is hosting its FireFox mirrors on FreeBSD 7.0 machines to handle the unprecedented download demand as the Mozilla Foundation attempts to break a world record for downloads in a day.

FreeBSD press release and congratulations of Mozilla:

One of the FreeBSD technologies used by Firefox 3 is the new memory allocator, “jemalloc”, hich was written by FreeBSD developer Jason Evans for the FreeBSD 7 operating system. jemalloc is a fast, efficient memory allocator with excellent performance on multiprocessor machines. Though already a part of the FreeBSD 7 operating system, the Mozilla project has chosen to also incorporate it directly inside the Firefox 3 browser to improve memory performance and reduce memory use on other operating systems with legacy memory allocators. According to the blog of Firefox developer Stuart Parmenter, “Our automated tests on Windows Vista showed a 22% drop in memory usage when we turned jemalloc on.” Commenting on the Linux version of the browser, he wrote, “We saw a good performance increase and a drop in memory.”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>