添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement . We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I was trying out bazel build cache to Google Cloud Storage.

First build which must have populated the cache https://travis-ci.org/damienpontifex/io/builds/562897963
And then subsequent build that utilised the cache https://travis-ci.org/damienpontifex/io/builds/562916740

Saw significant reduction of build times to get successful builds across all. This would be great to speed up feedback time on PR changes.

Currently I'm pointing mine to a GCS bucket of my own, but what would it take to support Google owned bucket to assist here? I noticed in https://www.youtube.com/watch?v=MyuJRUwT5LI the mention that core TensorFlow is already using some of these distributed components, so that may give insights into hints here?

@damienpontifex Created a PR #376 which utilized --disk_cache + Travis CI caching system to help speed up.

Note Travis CI's caching is shared among stages, so I used TRAVIS_JOB_NUMBER's suffix (12.5 => 5) to shard the data in order to not mess up with every build job 's configuration.

We have python 3.7 on Ubuntu 16.04 and python 2.7-3.6 for Ubuntu 14.04 and it turns out this could be an issue if cache are shared among 16.04 and 14.04.

Also, Travis CI's cache will override new one if there is a overlap between on job run and another job run so it may not get the latest cache all the time. But still, there is some considerable improvement from my own testing.

We see significant drop in build time (40+min => ~15 min) for each build:
https://travis-ci.org/tensorflow/io/builds/563868019

The only issue, is that macOS python 3.5 and 3.6 build can not complete in 50min so cache was never pushed to Travis CI (and later build can not take cache).

Also, in case there are some cache failure, we may need to clean up Travis CI cache then every build has to start again. We still need to find out a way to limit the non-cache build time to 50min.