4 ms·
Me? I compile most of my OS and I would like it faster. I also like being able to compile and game at the same time. Or run many OSs in VMs at the same time.
by mbrumlow 2y ago
Me?
I compile most of my OS and I would like it faster. I also like being able to compile and game at the same time. Or run many OSs in VMs at the same time.
- shepherdjerred 2y agoSo many developer workloads can be sped up significantly by throwing more cores at the problem. Classic examples are compilation and linting, but even unit/integration/end-to-end testing can be made feasible locally if you have a strong machine and architect your tests properly. I’ve done this before with the testcontainers library and it enables some really nice workflows.
- stouset 2y agoHonest question: what do you actually accomplish by compiling your OS?
- homarp 2y agosee https://old.reddit.com/r/linux4noobs/comments/9tsaxl/why_does_gentoo_compile_everything/ https://old.reddit.com/r/linux4noobs/comments/9tsaxl/why_doe...
- bravetraveler 2y agoI want to get this out first: an OS is not a single unit. It is a collection of parts. Operating... System. With that out of the way, modification! It actually becomes my OS, not at the mercy of The Build or provider. Licensing gets tricky here. You have to be careful if intending to redistribute the work. Open source allows you to compile and not care about much else for your use. The code lets you do what you want or need. Compiled binaries limit your options, one can't as readily change them or find what they do. Imagine BigCo gives you something to support a widget or tool you use. Nay, need. It stops working, the job is no longer being done. What do you do? What you can or what they allow. While everyone may not do this, they absolutely benefit from the ability. Many compile simply to get the most-representative CPU optimizations. See '-march=native', for example. Binary distributions have to make assumptions. Compiling source lets you correct them. On the Linux side I prefer Fedora. Binary distribution with excellent packaging tools. I can rebuild anything with the same commands, but rarely have to. Good defaults with build options and patches.
- stouset 2y agoI’m not asking what’s the benefit of open source. I’m asking what’s the benefit of compiling it yourself versus using distro-provided binary packages, and based on this answer you’re confirming what I learned from two years of Gentoo twentyish years ago: pretty much not a damn thing. Spending dozens of hours compiling packages from source over and over is a comically poor tradeoff in time, energy, and dollars for getting a few minor CPU-hyperspecific optimizations that are utterly unnoticeable for everything outside of extremely specific circumstances. And in those cases compiling one or two things yourself can get you 98% of the sought-after benefits. To each their own but… I’ll pass.
- bravetraveler 2y agoI cover both, but you're right about choice. Not looking to sway. I explained background, my position, and some reasoning. I'll try again. I don't compile the whole OS, or as you say, spend dozens of hours compiling packages from source. In the small cases where I do compile something, it's this process: fedpkg clone -a -b ... packagename cd packagename # toy around, make customizations that justify the compilation fedpkg mockbuild dnf up ./results*/*/*.rpm You're making a strawman with this literal position of compiling everything, bathing it in hyperbole. I agree, that's a waste of time, so I don't run Gentoo. I run Fedora where I can compile what I need to. Reliably. Or I'd still be on Arch. I apply patches, test them, suggest fixes upstream. That's what I accomplish. I can't speak for everyone but I can try to help. You're welcome; it's literal maintenance. Again, not everyone does it. Remember when I said this? > While everyone may not do this, they absolutely benefit from the ability. Another reminder, this was the question: > what do you actually accomplish by compiling your OS? I do it [for components] so others don't have to. Christ. I'm explaining how it's used, not why you should change anything. I feel we mostly agree, I rambled - like I did here. It's rarely worth it. I found a decent middle ground. Build/test what I have to, most easily. Getting back on topic: more CPU cores help with the time this requires. Machine time is spent so human time isn't.
- stouset 2y agoSorry, but I wasn’t making a straw man: the GP I responded to explicitly made the point that they wanted a manycore monster CPU to speed up compiling their entire OS from scratch. If all you’re talking about is compiling a few targeted packages for customization or performance reasons, that’s absolutely a reasonable and sensible approach to things. My question was targeted at the GP’s use case which I wholeheartedly believe is a largely senseless waste of time, effort, CPU cycles, and money.