<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Less fragmentation coming in Firefox 3</title>
	<atom:link href="http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/</link>
	<description>Ramblings from the mind of Stuart Parmenter</description>
	<lastBuildDate>Thu, 28 Jan 2010 21:51:52 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Adrenalin</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-646</link>
		<dc:creator>Adrenalin</dc:creator>
		<pubDate>Thu, 22 Nov 2007 17:36:30 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-646</guid>
		<description>pavlov, ok, thanks for answers.

Maybe that&#039;s just me, but I really hate to close tabs/applications, cuz I&#039;m lazy. anyway, one time in a while, when my system starts to freeze, I start to loose time waiting, I just stop and close everything, and then it starts all again, it grow, grow, and I run again and again &quot;the garbage collector&quot; %)

Or, doh, maybe it will be easier just to buy another 2gb of ram, hehe

But I&#039;ll really like, when I for example run Photoshop (or any other expensive program), all other processes go to sleep, as I don&#039;t need them atm, and allow me work very fast at the task what I want to do right now.

Maybe I just need the Android think on my desktop, not sure ;o)

Ok, thanks for listening, I really trust you guys, hope you&#039;ll make all the best to make the best browser in the world even better.

Anyway, I still think, if our computers were slower than today, firefox were more optimized..

Anyway, it visible what in last time there&#039;s more activity, more blogs, more concerning about firefox&#039;s performance, and I&#039;m very glad about that.</description>
		<content:encoded><![CDATA[<p>pavlov, ok, thanks for answers.</p>
<p>Maybe that&#8217;s just me, but I really hate to close tabs/applications, cuz I&#8217;m lazy. anyway, one time in a while, when my system starts to freeze, I start to loose time waiting, I just stop and close everything, and then it starts all again, it grow, grow, and I run again and again &#8220;the garbage collector&#8221; %)</p>
<p>Or, doh, maybe it will be easier just to buy another 2gb of ram, hehe</p>
<p>But I&#8217;ll really like, when I for example run Photoshop (or any other expensive program), all other processes go to sleep, as I don&#8217;t need them atm, and allow me work very fast at the task what I want to do right now.</p>
<p>Maybe I just need the Android think on my desktop, not sure ;o)</p>
<p>Ok, thanks for listening, I really trust you guys, hope you&#8217;ll make all the best to make the best browser in the world even better.</p>
<p>Anyway, I still think, if our computers were slower than today, firefox were more optimized..</p>
<p>Anyway, it visible what in last time there&#8217;s more activity, more blogs, more concerning about firefox&#8217;s performance, and I&#8217;m very glad about that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pavlov</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-612</link>
		<dc:creator>pavlov</dc:creator>
		<pubDate>Thu, 22 Nov 2007 00:31:10 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-612</guid>
		<description>DrkShadow: We don&#039;t use the Boehm garbage collector for anything except possibly some Mac Java stuff.  Converting all of our uses of pointers to handles so they could be moved around isn&#039;t really feasible.  Using pools, fewer allocations, and a better general allocator as I mentioned in my post are probably going to give us the best most realistic wins.  Certainly as more of our front end moves in to Javascript, which is garbage collected, that could help.</description>
		<content:encoded><![CDATA[<p>DrkShadow: We don&#8217;t use the Boehm garbage collector for anything except possibly some Mac Java stuff.  Converting all of our uses of pointers to handles so they could be moved around isn&#8217;t really feasible.  Using pools, fewer allocations, and a better general allocator as I mentioned in my post are probably going to give us the best most realistic wins.  Certainly as more of our front end moves in to Javascript, which is garbage collected, that could help.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DrkShadow</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-611</link>
		<dc:creator>DrkShadow</dc:creator>
		<pubDate>Thu, 22 Nov 2007 00:14:55 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-611</guid>
		<description>Ok, if fragmentation is the real issue.. than the real solution should be to remove fragmentation.

Lets suppose we have 1000 items, deallocate 500 at random -- then we have a lot of very small gaps. Why not create a routine to allocate new memory, copy the object to the new memory, and deallocate the new memory?

The point here would be that you grab new memory with only the existing objects, free _all_ of the fragmented memory, and you&#039;ve solved the fragmentation problem for a certain time.

Of course, you then have to worry about pointers, so the hard part would perhaps be encapsulating everything inside an object -- so only the one object has to be modified for the effect to work -- or implement a callback system, so everything with a pointer to the object can be told the new address of the object.

The former would still have some fragmentation, as you can&#039;t reallocated the containing objects. This may or may not be worse that what is being seen. The latter would be great, but would likely greatly increase complexity, and requiring more memory to implement things as objects so that they _can_ receive a callback and change memory references.

.. just some thoughts. I&#039;m curious, is the Boehm garbage collector that I saw recently in use by default? Can I check it? does it improve fragmentation?

-DrkShadow</description>
		<content:encoded><![CDATA[<p>Ok, if fragmentation is the real issue.. than the real solution should be to remove fragmentation.</p>
<p>Lets suppose we have 1000 items, deallocate 500 at random &#8212; then we have a lot of very small gaps. Why not create a routine to allocate new memory, copy the object to the new memory, and deallocate the new memory?</p>
<p>The point here would be that you grab new memory with only the existing objects, free _all_ of the fragmented memory, and you&#8217;ve solved the fragmentation problem for a certain time.</p>
<p>Of course, you then have to worry about pointers, so the hard part would perhaps be encapsulating everything inside an object &#8212; so only the one object has to be modified for the effect to work &#8212; or implement a callback system, so everything with a pointer to the object can be told the new address of the object.</p>
<p>The former would still have some fragmentation, as you can&#8217;t reallocated the containing objects. This may or may not be worse that what is being seen. The latter would be great, but would likely greatly increase complexity, and requiring more memory to implement things as objects so that they _can_ receive a callback and change memory references.</p>
<p>.. just some thoughts. I&#8217;m curious, is the Boehm garbage collector that I saw recently in use by default? Can I check it? does it improve fragmentation?</p>
<p>-DrkShadow</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pavlov</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-596</link>
		<dc:creator>pavlov</dc:creator>
		<pubDate>Wed, 21 Nov 2007 20:21:01 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-596</guid>
		<description>Adrenalin: We don&#039;t back cache 10 pages on all 50 tabs.  There is a max version of back pages that is across all tabs and windows.  &quot;Hibernating&quot; applications on mobile devices isn&#039;t a new thing, but we&#039;re a desktop application.  Swapping out to disk and having to page back in to memory can be very slow.

In your example, it is very difficult for us to know that you don&#039;t want the 4th tab anymore.  You might want to switch back to it immediately and if it is swapped out the response to it loading back could be very slow.  I&#039;m not sure this is the behavior most users want.  We&#039;re working on various techniques to reduce memory in documents (tabs, windows) that haven&#039;t been recently accessed, but I don&#039;t think we&#039;ll be completely swapping them out.

As we look at mobile, we may have no other choice but to do something like this, but for a desktop browser, there are better ways.</description>
		<content:encoded><![CDATA[<p>Adrenalin: We don&#8217;t back cache 10 pages on all 50 tabs.  There is a max version of back pages that is across all tabs and windows.  &#8220;Hibernating&#8221; applications on mobile devices isn&#8217;t a new thing, but we&#8217;re a desktop application.  Swapping out to disk and having to page back in to memory can be very slow.</p>
<p>In your example, it is very difficult for us to know that you don&#8217;t want the 4th tab anymore.  You might want to switch back to it immediately and if it is swapped out the response to it loading back could be very slow.  I&#8217;m not sure this is the behavior most users want.  We&#8217;re working on various techniques to reduce memory in documents (tabs, windows) that haven&#8217;t been recently accessed, but I don&#8217;t think we&#8217;ll be completely swapping them out.</p>
<p>As we look at mobile, we may have no other choice but to do something like this, but for a desktop browser, there are better ways.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pavlov</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-595</link>
		<dc:creator>pavlov</dc:creator>
		<pubDate>Wed, 21 Nov 2007 20:14:32 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-595</guid>
		<description>DrkShadow: I&#039;ve done a lot of testing with images turned on/off.  For beta 2 you&#039;ll see animated GIFs taking up much less memory than before.  That said, there is no reason I can think of why they would continue to grow while animating.  They shouldn&#039;t take up any additional memory resources.  I assume you&#039;re on Linux -- We&#039;re currently adjusting how we use X resources for images which should help some of your problems as well.  Most of these things will be in beta 2.

That said, I&#039;ve done a lot of testing and concluded that images aren&#039;t really contributing to our fragmentation problems.  They do use up a lot of memory though and we&#039;ve done a lot to combat that (expiring the uncompressed version after a while, storing animations more efficiently, etc).  We have some additional plans for reducing image memory consumption but they&#039;re much bigger scope changes and probably won&#039;t make Firefox 3.</description>
		<content:encoded><![CDATA[<p>DrkShadow: I&#8217;ve done a lot of testing with images turned on/off.  For beta 2 you&#8217;ll see animated GIFs taking up much less memory than before.  That said, there is no reason I can think of why they would continue to grow while animating.  They shouldn&#8217;t take up any additional memory resources.  I assume you&#8217;re on Linux &#8212; We&#8217;re currently adjusting how we use X resources for images which should help some of your problems as well.  Most of these things will be in beta 2.</p>
<p>That said, I&#8217;ve done a lot of testing and concluded that images aren&#8217;t really contributing to our fragmentation problems.  They do use up a lot of memory though and we&#8217;ve done a lot to combat that (expiring the uncompressed version after a while, storing animations more efficiently, etc).  We have some additional plans for reducing image memory consumption but they&#8217;re much bigger scope changes and probably won&#8217;t make Firefox 3.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DrkShadow</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-593</link>
		<dc:creator>DrkShadow</dc:creator>
		<pubDate>Wed, 21 Nov 2007 15:36:17 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-593</guid>
		<description>I&#039;ve been under the belief for a _long_ time now that images have been the primary culprit. If I browse a great many Photobucket albums with a great many images, memory usage will inevitably go through the roof -- if I have a session where I don&#039;t do that, it takes significantly longer.

Combine that with _animated gifs_ and things just get out of control.. on a machine with 2 gigs ram and 2 gigs swap, I regularly see FF using over 25% of system memory. That&#039;s with about 50 tabs.

To back up my suspicion, I finally found a setting so that animated gifs animate only once. The memory usage seems to remain about _half_ what it always was before. (image.animation_mode=&quot;once&quot;)

I&#039;ve been trying to get time to build a debug mozilla and dig in.. and I got some time to work on it today -- initial results are various assertions failing when I start my debug build, so I think I need to get the config file from a gentoo build to start with :-/

-DrkShadow</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been under the belief for a _long_ time now that images have been the primary culprit. If I browse a great many Photobucket albums with a great many images, memory usage will inevitably go through the roof &#8212; if I have a session where I don&#8217;t do that, it takes significantly longer.</p>
<p>Combine that with _animated gifs_ and things just get out of control.. on a machine with 2 gigs ram and 2 gigs swap, I regularly see FF using over 25% of system memory. That&#8217;s with about 50 tabs.</p>
<p>To back up my suspicion, I finally found a setting so that animated gifs animate only once. The memory usage seems to remain about _half_ what it always was before. (image.animation_mode=&#8221;once&#8221;)</p>
<p>I&#8217;ve been trying to get time to build a debug mozilla and dig in.. and I got some time to work on it today &#8212; initial results are various assertions failing when I start my debug build, so I think I need to get the config file from a gentoo build to start with :-/</p>
<p>-DrkShadow</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrenalin</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-591</link>
		<dc:creator>Adrenalin</dc:creator>
		<pubDate>Wed, 21 Nov 2007 14:57:41 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-591</guid>
		<description>I think you must try to discard unused info from unused tabs. Stop flash scripts and javascripts..etc

It&#039;s the same as opening 50 Ms Word Application, and asking why it start to use too much memory ?

Sometimes I open 50 tabs (because www is all about link-to-link, site-to-site), and while I&#039;m in the 50th tab, I don&#039;t really need the 4th tab, so why not just discard memory used by the 4th tab ? Why must 4th tab eat the memory what can be used for the next 51th tab ? %)

You know, in fact I saw this principle in Google Android.. Cuz mobiles phone have limited memory. So when user open one more application, Android platform &quot;hibernate&quot; one unused. Yeh, so unfortunately it&#039;s not me who invented that ;o)

And why the heck do I need the &quot;back caching&quot; of 10 pages on all 50 tabs ? I think this is an overhead, why just don&#039;t make the number o &quot;back caching&quot; pages lower and lower when the number of tabs grow ?

http://lxr.mozilla.org/seamonkey/source/docshell/shistory/src/nsSHistory.cpp#161
I think you forgot to put the amount of tabs into count..

Forget about fragmentation and just imagine you have only 64mb of ram for everything.</description>
		<content:encoded><![CDATA[<p>I think you must try to discard unused info from unused tabs. Stop flash scripts and javascripts..etc</p>
<p>It&#8217;s the same as opening 50 Ms Word Application, and asking why it start to use too much memory ?</p>
<p>Sometimes I open 50 tabs (because www is all about link-to-link, site-to-site), and while I&#8217;m in the 50th tab, I don&#8217;t really need the 4th tab, so why not just discard memory used by the 4th tab ? Why must 4th tab eat the memory what can be used for the next 51th tab ? %)</p>
<p>You know, in fact I saw this principle in Google Android.. Cuz mobiles phone have limited memory. So when user open one more application, Android platform &#8220;hibernate&#8221; one unused. Yeh, so unfortunately it&#8217;s not me who invented that ;o)</p>
<p>And why the heck do I need the &#8220;back caching&#8221; of 10 pages on all 50 tabs ? I think this is an overhead, why just don&#8217;t make the number o &#8220;back caching&#8221; pages lower and lower when the number of tabs grow ?</p>
<p><a href="http://lxr.mozilla.org/seamonkey/source/docshell/shistory/src/nsSHistory.cpp#161" rel="nofollow">http://lxr.mozilla.org/seamonkey/source/docshell/shistory/src/nsSHistory.cpp#161</a><br />
I think you forgot to put the amount of tabs into count..</p>
<p>Forget about fragmentation and just imagine you have only 64mb of ram for everything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jack</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-558</link>
		<dc:creator>Jack</dc:creator>
		<pubDate>Tue, 20 Nov 2007 11:35:00 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-558</guid>
		<description>Great news.

I am currently trialling the beta and have noticed no real problems.  The memory footprint was a major problem for me, and am keeping an eagle eye out for a recurrence.

Thanks for the effort and the astonishingly open communications.

Jack</description>
		<content:encoded><![CDATA[<p>Great news.</p>
<p>I am currently trialling the beta and have noticed no real problems.  The memory footprint was a major problem for me, and am keeping an eagle eye out for a recurrence.</p>
<p>Thanks for the effort and the astonishingly open communications.</p>
<p>Jack</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Firefox 3 Beta 1 &#171; pavlov.net</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-555</link>
		<dc:creator>Firefox 3 Beta 1 &#171; pavlov.net</dc:creator>
		<pubDate>Tue, 20 Nov 2007 07:59:30 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-555</guid>
		<description>[...] I&#8217;m really excited about this milestone, I think all of the memory work going on will make the next couple betas that much [...]</description>
		<content:encoded><![CDATA[<p>[...] I&#8217;m really excited about this milestone, I think all of the memory work going on will make the next couple betas that much [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pd</title>
		<link>http://blog.pavlov.net/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-527</link>
		<dc:creator>pd</dc:creator>
		<pubDate>Mon, 19 Nov 2007 13:50:41 +0000</pubDate>
		<guid isPermaLink="false">http://pavlovdotnet.wordpress.com/2007/11/15/less-fragmentation-coming-in-firefox-3/#comment-527</guid>
		<description>In the few times I&#039;ve experienced serious memory bloat/performance lag after running Firefox for a while, the browser has actually been reasonably stable under the &#039;load&#039;.

Do you think it&#039;s possible people are experiencing load issues in Firefox that are not triggering crashes and therefore talkback/breakpad incidents? 

Wouldn&#039;t it be very useful to write a tool not unlike Hendrix or Reporter that allowed users experiencing load issues to report it? This could provide both a useful developer tool and a &#039;circuit breaker&#039; for frustrated users. It could also help improve the realism of quality reports to mozilla. For example instead of saying we have X crash conditions/reports, you could say we have X bloat issues and X crash conditions/reports.</description>
		<content:encoded><![CDATA[<p>In the few times I&#8217;ve experienced serious memory bloat/performance lag after running Firefox for a while, the browser has actually been reasonably stable under the &#8216;load&#8217;.</p>
<p>Do you think it&#8217;s possible people are experiencing load issues in Firefox that are not triggering crashes and therefore talkback/breakpad incidents? </p>
<p>Wouldn&#8217;t it be very useful to write a tool not unlike Hendrix or Reporter that allowed users experiencing load issues to report it? This could provide both a useful developer tool and a &#8216;circuit breaker&#8217; for frustrated users. It could also help improve the realism of quality reports to mozilla. For example instead of saying we have X crash conditions/reports, you could say we have X bloat issues and X crash conditions/reports.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
