{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/24850","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/24850/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/24850/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/24850/events","html_url":"https://github.com/kubernetes/kubernetes/pull/24850","id":151307337,"number":24850,"title":"Improve the speed of do-nothing build.","user":{"login":"madhusudancs","id":10183,"avatar_url":"https://avatars.githubusercontent.com/u/10183?v=3","gravatar_id":"","url":"https://api.github.com/users/madhusudancs","html_url":"https://github.com/madhusudancs","followers_url":"https://api.github.com/users/madhusudancs/followers","following_url":"https://api.github.com/users/madhusudancs/following{/other_user}","gists_url":"https://api.github.com/users/madhusudancs/gists{/gist_id}","starred_url":"https://api.github.com/users/madhusudancs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/madhusudancs/subscriptions","organizations_url":"https://api.github.com/users/madhusudancs/orgs","repos_url":"https://api.github.com/users/madhusudancs/repos","events_url":"https://api.github.com/users/madhusudancs/events{/privacy}","received_events_url":"https://api.github.com/users/madhusudancs/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-none","name":"release-note-none","color":"c2e0c6"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/L","name":"size/L","color":"ee9900"}],"state":"open","locked":false,"assignee":{"login":"thockin","id":5595220,"avatar_url":"https://avatars.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"milestone":null,"comments":5,"created_at":"2016-04-27T06:16:05Z","updated_at":"2016-05-10T23:56:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/24850","html_url":"https://github.com/kubernetes/kubernetes/pull/24850","diff_url":"https://github.com/kubernetes/kubernetes/pull/24850.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/24850.patch"},"body":"As @thockin found out here https://github.com/kubernetes/kubernetes/issues/24518, vast majority of the do-nothing build time is spent in rebuilding the test binaries. There is no staleness check support for test binaries.\r\n\r\nThis commit implements the staleness checks for test binaries and uses them while building packages.\r\n\r\nOn my workstation, do-nothing hack/build-go.sh time goes from ~20 secs to ~4 secs, of which only ~1 sec is from doing test binary staleness check now (as opposed to ~17 secs it took to build the test binaries before). I did some experiments to bring this time down to <1 sec. I measured using go test -bench, but it was not very useful in this case. I believe, a vast majority of that ~1 second is being spent in fork/exec and piping the results back to the staleness check program along with the ser-deser involved, but it needs to be validated. Not a proof, but to provide some supporting evidence to this claim, running `go list -f format packages` in the shell takes about 600ms irrespective of what's in the format.\r\n\r\nTests are TBD. I am still trying to figure out how to test this, but I would like to get early feedback\r\n\r\ncc @mikedanese @mml "},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/218326100","html_url":"https://github.com/kubernetes/kubernetes/pull/24850#issuecomment-218326100","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/24850","id":218326100,"user":{"login":"k8s-bot","id":12551979,"avatar_url":"https://avatars.githubusercontent.com/u/12551979?v=3","gravatar_id":"","url":"https://api.github.com/users/k8s-bot","html_url":"https://github.com/k8s-bot","followers_url":"https://api.github.com/users/k8s-bot/followers","following_url":"https://api.github.com/users/k8s-bot/following{/other_user}","gists_url":"https://api.github.com/users/k8s-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/k8s-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k8s-bot/subscriptions","organizations_url":"https://api.github.com/users/k8s-bot/orgs","repos_url":"https://api.github.com/users/k8s-bot/repos","events_url":"https://api.github.com/users/k8s-bot/events{/privacy}","received_events_url":"https://api.github.com/users/k8s-bot/received_events","type":"User","site_admin":false},"created_at":"2016-05-10T23:56:02Z","updated_at":"2016-05-10T23:56:02Z","body":"GCE e2e build/test **failed** for commit f282432136e855f87d89b771e7e02e42ef520cba.\n* [Build Log](http://pr-test.k8s.io/24850/kubernetes-pull-build-test-e2e-gce/39395/build-log.txt)\n* [Test Artifacts](https://console.developers.google.com/storage/browser/kubernetes-jenkins/pr-logs/pull/24850/kubernetes-pull-build-test-e2e-gce/39395/artifacts/)\n* [Internal Jenkins Results](http://goto.google.com/prkubekins/job/kubernetes-pull-build-test-e2e-gce//39395)\n\nPlease reference the [list of currently known flakes](https://github.com/kubernetes/kubernetes/issues?q=is:issue+label:kind/flake+is:open) when examining this failure. If you request a re-test, you must reference the issue describing the flake.\n"}}