Re:We Halved Go Monorepo CI Build Time
by shawabawa3 on Sunday June 26, 2022 @07:42AM
(#31883065)
Speaking from experience working on CI at a large company, I'm sure they've "just got a 2x CI machine" about 6 times. At some point you can't just burn more money and you need to optimise
Computers are usually way cheaper than people. The difference would just be Cap Ex vs Op Ex. That being said, they must be burning zillions of cycles rebuilding code that hasn't changed by using a monorepo.
Maybe I misread the article, but I thought they used tools to ensure they only rebuilt parts of the dependency graph, not wasting zillions of cycles?
Re:We Halved Go Monorepo CI Build Time
by craigching on Sunday June 26, 2022 @06:59PM
(#31888932)
That’s how I understood it as well.
I've been thinking about this for a while, and it seems to apply to a lot of things; serving a HTTP request on cheap EC2 instances won't come close to doing it on a dedicated server with great single-thread performance.
So even though you can more easily horizontally scale and handle infinite requests, the latency of each request will be much poorer than if you were just running on better hardware.
Yeah in my experience "get a faster machine" is so easy it was always done years ago and is no longer a possible improvement.
Re:We Halved Go Monorepo CI Build Time
by idontknowifican on Sunday June 26, 2022 @08:31AM
(#31883337)
fwiw there’s a cap to how much perf you can extract from an instance. we use R6 32cpu 64gb ram for our builders. we can’t really 2x that from a price point again lol
Re:We Halved Go Monorepo CI Build Time
by doktorhladnjak on Sunday June 26, 2022 @06:26PM
(#31888728)
These companies often have thousands of machines in their CI fleets. It really can be cheaper to pay engineers to optimize rather than just buying more or bigger instances.
what makes you think they havent already done so? If they're running Jenkins and/or buildkite, they're managing their own runners so they're not jumping from GitHub actions runners to 8/16 core machines.
[0] https://buildjet.com/for-github-actions/blog/a-performance-r...
edited: wrong link