Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>There are many answers to this and I'm procrastinating, so here it goes :)</p> <ul> <li>For better or for worse, the system requirements of software increase because those developing it feel that more hardware resources are available to the typical user of their software. This means: <ul> <li>Less development resources can be spent on fine-tuning (e.g. using higher-level programming frameworks, spending less developer time on optimizing resource usage vs implementing new features and fixing behavior bugs).</li> <li>New features can be added to the software (I don't know about text editors, but you'd probably be surprised if someone counted the number of new web platform features browsers added support for during the last few years.)</li> <li>Different memory/performance tradeoffs can be made (i.e. caching more stuff in memory)</li> </ul></li> <li>Memory usage of simple apps on Mac - see <a href="https://stackoverflow.com/questions/693525/why-do-cocoa-apps-use-so-much-memory?rq=1">Why do Cocoa apps use so much memory?</a> . Basically, your understanding of Resident set size is quite simplistic.</li> <li>Browsers' memory usage <ul> <li>Memory usage mainly depends on the content the browsers have to display. You might think you have a "few hundred kb" page loaded, when in fact a typical web page is an application with code for handling or tracking your clicks, a few sub-applications (one for each "like" and "+1" button, or for ads), with another application for the flash applet embedded on the page, etc.</li> <li>Software is hard, and browsers are very complex in particular (e.g. Firefox has <a href="http://www.ohloh.net/p/firefox" rel="nofollow noreferrer">more than 9M lines of code according to ohloh</a>). So an easy optimization can cost a lot more than you might think.<br> A recent example I've seen (681201): when you restart Firefox and it's set to not load the pages in tabs before you switch to a tab, each "empty" tab still uses several hundreds of KB. This is because every "empty" tab actually has a blank HTML document loaded into it and a full-featured JavaScript environment set up, ready to execute code.<br> Seems easy to fix (just don't create a blank document for empty tabs!), but changing this requires auditing much of the browser code that works with tabs to properly handle the "empty tab" case, and worse, requires changes to add-ons that depend on every tab having a document. So while gradual improvements are being made (down to 160K per tab from more than a megabyte), it's not as easy as it sounds.</li> </ul></li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload