title: In what circumstances can large pages produce a speedup?
body: <p>Modern x86 CPUs have the ability to support larger page sizes than the legacy 4K (ie 2MB or 4MB), and there are OS facilities (<a href="http://sourceforge.net/projects/libhugetlbfs/" rel="nofollow noreferrer">Linux</a>, <a href="http://msdn.microsoft.com/en-us/library/aa366720(VS.85).aspx" rel="nofollow noreferrer">Windows</a>) to access this functionality.</p>
  
  <p>The Microsoft link above states large pages "increase the efficiency of the translation buffer, which can increase performance for frequently accessed memory".  Which isn't very helpful in predicting whether large pages will improve any given situation.  I'm interested in concrete, preferably quantified, examples of where moving some program logic (or a whole application) to use huge pages has resulted in some performance improvement.  Anyone got any success stories ?</p>
  
  <p>There's one particular case I know of <a href="https://stackoverflow.com/questions/2731531/faster-forking-of-large-processes-on-linux">myself</a>: using huge pages can <a href="http://kirkwylie.blogspot.com/2008/11/linux-fork-performance-redux-large.html" rel="nofollow noreferrer">dramatically</a> reduce the time needed to fork a large process (presumably as the number of TLB records needing copying is reduced by a factor on the order of 1000).  I'm interested in whether huge pages can also be a benefit in less exotic scenarios.</p>