Re: which pages of the file are in the cache
Re: which pages of the file are in the cache
- Subject: Re: which pages of the file are in the cache
- From: Terry Lambert <email@hidden>
- Date: Tue, 18 Aug 2009 14:22:32 -0700
On Aug 18, 2009, at 9:16 AM, Jonas Maebe wrote:
On 18 Aug 2009, at 18:08, Terry Lambert wrote:
My understanding of the performance issues there are that they are
not related to what's in the cache, at least not after the first
run, since we will preheat the cache for processes after we know
what pages are typically in use.
This was true for 10.4, but no longer in 10.5 afaik (see rdar://problem/5139360)
.
For the non-Apple people: my bug report about the fact that the /var/
vm/app_profile/ directory was never cleaned up under 10.4 (which led
to quite a lot of disk usage when performing daily overnight
regression testing of a compiler testsuite), was closed with the
comment:
"There are no application profiles on Leopard. Similar (or better)
performance was achieved by using a more flexible read-ahead
strategy."
We have a specific read-ahead strategy that pre-faults pages into the
buffer cache, plus specific compiler and linker options to order the
code and data to reduce paging and increase code and data locality.
It's possible that a particular degenerate arrangement of code and
data in a binary would be able to defeat that.
You can avoid that using the -order_file linker option and the -
freorder-blocks / -freorder-blocks-and-partition / -freorder-
functions. If your build includes dynamic libraries, you can also do -
exported_symbols_order, and if you are talking about the main
compilation unit and the code is not intended to be used by a plugin,
you can also use the -dead_strip option to delete dead code (including
any constructors contained in the dead code).
-- Terry
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden