By default, on Windows, Firefox is a 32-bit application. This means that it is limited to using at most 4 GiB of memory, even on machines that have more than 4 GiB of physical memory (RAM). In fact, depending on the OS configuration, the limit may be as low as 2 GiB. Now, 2–4 GiB […]
Search: “fragmentation”
We found 16 results for your search.
DMD is a tool that I originally created to help identify where new memory reporters should be added to Firefox in order to reduce the “heap-unclassified” measurement in about:memory. (The name is actually short for “Dark Matter Detector”, because we sometimes call the “heap-unclassified” measurement “dark matter“.) Recently, I’ve modified DMD to become a more […]
If you record every heap allocation and re-allocation done by Firefox you find some interesting things. In particular, you find some sub-optimal buffer growth strategies that cause a lot of heap churn. Think about a data structure that involves a contiguous, growable buffer, such as a string or a vector. If you append to it […]
June 14, 2014 was the third anniversary of the first MemShrink meeting. MemShrink is a mature effort at this point, and many of the problems that motivated its creation have been fixed. Nonetheless, there are still some areas for improvement. So, as I did at this time last year, I’ll take the opportunity to update […]
June 14, 2013 is the second anniversary of the first MemShrink meeting. This time last year I took the opportunity to write about the major achievements from MemShrink’s first year. Unsurprisingly, since then we’ve been picking fruit from higher in the tree, so the advances have been less dramatic. But it’s been 11 months since […]
Memory Reporting I changed things so that JavaScript memory consumption for web content is reported on a per-tab basis, as the following example shows. │ ├────4,472,568 B (00.50%) — top(http://www.mozilla.org/en-US/firefox/fx/, id=236)/active │ │ ├──4,192,640 B (00.47%) — window(http://www.mozilla.org/en-US/firefox/fx/) │ │ │ ├──1,979,112 B (00.22%) ++ js/compartment(http://www.mozilla.org/en-US/firefox/fx/) │ │ │ ├──1,607,216 B (00.18%) ++ layout │ […]
A year ago today, the first meeting of the MemShrink project took place. The project had been announced almost three months earlier, but until that first meeting it was basically just me working on it and there wasn’t much momentum. So I now think of those three months as something of a gestation period, and […]
Add-ons The main news in the past two weeks has been about Kyle Huey’s patch that prevents most chrome-to-content leaks, which are the most common kind of add-on leak. Testing showed it worked beautifully, but caused a knock-on leak in add-ons built with old versions (1.3 and earlier) of the Add-on SDK. (This received a […]
TL;DR: Any single change that reduces Firefox’s memory consumption can affect Firefox’s speed, stability and reputation in a variety of ways, some of which are non-obvious. Some examples illustrate this. The MemShrink wiki page starts with the following text. MemShrink is a project that aims to reduce Firefox’s memory consumption. There are three potential benefits. […]
There wasn’t much MemShrink activity this week in terms of bugs fixed, just bug 718100 and bug 720359. So I’m going to take the opportunity this week to talk about the bigger picture. Bug Counts As a prelude, here are this week’s bug counts. P1: 20 (-4/+0) P2: 131 (-3/+3) P3: 74 (-2/+7) Unprioritized: 4 […]