[Cython] Speedup hudson job with ccache

Robert Bradshaw robertwb at math.washington.edu
Thu Jul 7 09:19:36 CEST 2011


On Wed, Jul 6, 2011 at 11:54 PM, Vitja Makarov <vitja.makarov at gmail.com> wrote:
>
>
> 2011/7/7 Stefan Behnel <stefan_ml at behnel.de>
>>
>> Vitja Makarov, 07.07.2011 08:32:
>>>
>>> 2011/7/7 Stefan Behnel
>>>
>>>> Robert Bradshaw, 06.07.2011 21:32:
>>>>
>>>>  We should get ccache on sage.math to start using it on hudson.
>>>>>
>>>>
>>>> It's just a single binary when installed. I have a copy in my
>>>> ~/ccache/bin.
>>>> Changing the Jenkins jobs now.
>>>>
>>>>
>>> Is that already used?
>>
>> Actually, no. I noticed that it would a) require changes to all test jobs,
>> and b) prevent us from getting clean test runs. I prefer a safe and clean
>> run over a fast one.
>>
>
> a) you can set CYTHON_RUNTESTS_CCACHE globaly somewhere inside ~/.profile

I think you can set global hudson environment variables as well, which
would probably be preferable.

>> Also, the test runner clears the target directory on startup.

This isn't an issue, if it can, it just copies the .so files from the
cache (with new timestamps).

>> I wonder
>> where you got your numbers from...
>
> By default ccache stores object files inside ~/.ccache directory, how it
> works:
> 1. It runs preprocessor (cpp), then adds compiler version, compilation flags
> and so on.
> 2. Calculates checksum (md5? I don't know)
> 3. Check if it's already in the cache, no compilation is required
> http://ccache.samba.org/
> So I think that would be safe to use ccache here.

Yes, ccache should be totally safe here, unless it's fundamentally broken.

- Robert


More information about the cython-devel mailing list