Re: Ccache prefetch

Andrew Stubbs <[email protected]>
Newsgroups gmane.comp.compilers.ccache
Message-ID <[email protected]>
On 11/05/14 06:11, Ian Albany wrote:
> IO. Has anyone ever played with preloading the cache into the VFS
> cache ie. RAM as opposed to disk. I have loads of ram and when
> building say the linux kernel, I can start the build an in the
> background read the ccache from one disk and the headers and c files
> using a simple script much in the same way as the preload mechanism
> works for booting some linux systems. But I think that there is also
> some history based on previous usage, so the question is, has anyone
> implemented a second level cache preload?

The problem with this idea is that ccache is only ever executed when you 
run a compile job, and at that time it is in the critical path of your 
build so it must do that absolute minimum to get the job done.

However, you could prime the caches yourself, perhaps.

A simple grep, or md5sum, or something, over the cache directory will 
load all the files into memory.

If you have a large cache directory and only want to load some of it 
into RAM then perhaps a "find .ccache -anewer somefile" to find any 
cache files newer than a file you created previously (unfortunately find 
does not appear to provide a way to do that numerically). A source file 
you modified just before a recent full build would probably be an 
appropriate reference point.

Hope that helps

Andrew


P.S. for maximum build performance, I would recommend mounting your 
volumes with "noatime", which defeats the above suggestion. It's a problem.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.