5 ms·
What monetary value would you place on hours of compile time daily holding up your dev team?
by Grimburger 4y ago
What monetary value would you place on hours of compile time daily holding up your dev team?
- sacnoradhq 4y agoWhy would CI/CD hold up a dev team if it's done asynchronously? What kind of dev team doesn't multitask? Apart from edge-cases involving linking large projects synchronously, there's no competitive advantage and the feature set is far less than lld, bfd, or even gold. It's a niche "product" most people don't need.
- terafo 4y agoWhy do you assume that compilation only happens in CI/CD?
- sacnoradhq 4y agoBecause professionals don't wait around synchronously for local builds when they can do distributed builds async.
- jraph 4y agoOh yes, they do. Source: I'm a professional dev. Many projects don't have cutting edge build systems. I'm also not committing temporary code just to make the CI produce a build that I'll need to download. I'll build locally.
- sacnoradhq 4y ago[flagged]
- saagarjha 4y agoProfessional developer here, working with some of the best build systems on the planet–distributed, cached, the whole nine yards. In the past I worked as an iOS engineer for a project which would benefit from mold. You are very wrong about how to produce impact at scale. When your actual job is dependent on the build completing there’s not a whole lot you can do in the 5-10 minutes it takes to complete. You can skim a bit of email but there isn’t actually much you can do during that time that has lasting impact. I know, because I worked on projects like these on the side: precisely because this time was difficult to schedule stuff into, you’d save hundreds of thousands of dollars per year for each minute you reduced build times. I made a handful of these changes and they were always in longer stretches of slack time, such as when I was waiting for approvals to go through. There’s not much you can do in five minutes but it is very valuable for it to be turned into two minutes.
- eptcyka 4y agoAre you implying it's a good thing a tool is slow, because it then allows you to show off your degree of professionalism? Or am I misinterpreting your opinion on this matter? As far as I'm concerned, I'd love faster linkers, compilers, everything. I don't believe longer compile times help me make more money. Are your posts subsidized by time share CPU companies? Or Big Power, by any chance?
- mynameisash 4y agoBut no true dev would put sugar on his porridge.
- skyzyx 4y ago@sacnoradhq: what did you the person building the build system in the first place? Or the one that actually builds the runner instances themselves that everybody else leverages? What you’re suggesting is certainly the ideal case, but there are lots of things that can happen between where you are and where you want to end up. Saying that somebody isn’t a professional developer just because they haven’t reached the ideal state yet is bullshit. It’s also easy to go around telling other people what they are or aren’t when you haven’t had the responsibility of building these building blocks yourself. You’re the user of them, not the creator of them. Have some respect for the giants whose shoulders you’re standing upon.
- skyzyx 4y agoUtterly false. I build locally all the time to make sure that the thing works before I commit the code.
- sacnoradhq 4y agoDo you wait around for a 30 minute build with a coffee rather than do something else useful? If not, then you don't need mold. Do you not have automated unit and integration testing? Do you not have code review and CI before code lands? Do you not have distributed, cached, incremental builds?
- MereInterest 4y agoIf I’m developing a feature, I run the newly written unit tests locally. If I have a CI failure, the first step in debugging is to reproduce the failing test locally. Improving build time isn’t just about changing 30-minute builds to 30-second builds, but also about changing 30-second builds into 2-second builds.
- sagarm 4y agoYou can't distribute linking AFAIK. While I often do finish other development related tasks during longer builds, it doesn't make sense to context switch to something completely different during a 1-2 minute delay. I will build dozens of times a day while testing or optimizing functionality, so this can really add up. That said recent versions of clang + lld + fission result in <20 sec compile+link times even on a multi-gigabyte executable, so the need for mold is significantly lessened. Users that are currently using gold will see a dramatic improvement.
- flqn 4y agoHaving a quick edit->build->run iteration time is important. Drop your dogmatic views on what makes a "professional" (hint: it literally just means someone who gets paid to do the work).
- cylon13 4y agoDo you never find yourself interested in the results of a code change you have just made?
- sacnoradhq 4y agoMold doesn't solve any problems for small- or medium-sized projects... there's is little/no advantage. That's what async CI/CD unit and integration testing are for. Also, it depends on the platform. Go doesn't have this problem. Rust does, to a degree. Interpreted languages make a linker moot. The primary use case for mold is giant projects with massive executables. It's not a general-purpose linker, it can't improve inefficient workflows lacking automation, and it can't improve the multitasking of developer time for people who insist on waiting around instead of doing something else useful.
- saagarjha 4y ago> The primary use case for mold is giant projects with massive executables. Ok, so what’s the point of contention here? Large projects from large companies with lots of money stand to benefit from mold.
- j16sdiz 4y ago> Mold doesn't solve any problems for small- or medium-sized projects... there's is little/no advantage. It does. In incremental builds, most of the time are spent in linking, not building.
- nitsky 4y agoAnyone who writes C/C++/Rust, like I do, can benefit tremendously from Mold. I use it daily. Each time I hit save and need to run my program, Mold saves me about 10 seconds in linking time. That time adds up quickly, and prevents me from getting distracted.
- deleted 4y ago[deleted]