5 ms·
Do C++ developers prefer desktop computers at work? I think a lot of them use laptops.
by f311a 6y ago
Do C++ developers prefer desktop computers at work? I think a lot of them use laptops.
- gambiting 6y agoWe are a company that only does development in C++ and everyone has a desktop workstation. Laptops are simply too slow unless absolutely huge and besides my minimum requirement in a workstation nowadays is 64GB of ram with 128GB preferred. Hard to find a laptop that can support that much.
- leetcrew 6y agodepends on the project. it takes me about 20 minutes to do a full build on an overclocked 9700k. if I were forced to use a laptop, I would probably quit.
- spockz 6y agoWhat about spinning up a 24core vm and mount your code with sshfs for those compiles? Edit: corrected ashes to sshfs
- leetcrew 6y agothis has been discussed internally. for a variety of reasons, testing the software on a remote machine is kinda painful, so we would still have the overhead of copying the executable back to the developer's machine. the more straightforward approach is just to buy fast desktops for all the devs. a desktop with 32GB ram, a top of the line consumer cpu, and a middling gpu is roughly the same price as a good ultrabook anyway. also, c++ compilation doesn't scale perfectly with more cores. linking is still single threaded, AFAIK.
- PaulDavisThe1st 6y agolld will parallelize your link step. Major improvement over ld. Barely any change to the rest of your build process.
- pdimitar 6y agoHave you tried it with a Rust project? Is there a real gain? Really curious and willing to try.
- StillBored 6y agosshfs adds far to much latency to large compiles which tend to open a ton of little files, read a KB or two, and close them. If your on a local LAN its doable on NFS or other low latency network sharing, but for everything going over the internet ssh is going to be far to slow. In those cases its better to just git pull the changes and maintain a local copy on the compile target.
- ahartmetz 6y agoYou can always get roughly 2-3x the CPU performance of a laptop in a desktop (2x core count, higher clock due to much bigger heatsink). It makes sense to use a desktop for the compile times.
- ben-schaaf 6y agoThe most performance you can get in a mobile CPU right now is an 8 core ryzen. On a desktop you can get the 3990x at 64 cores. That's at least 8x the performance.
- ben-schaaf 6y agoCan't fit a 32 core threadripper in a laptop no matter how hard you try. Afaik most use workstation desktops if they're working on large codebases with long compile times (think chrome, Firefox, unreal engine, etc. with compile times often in the hours on slow computers).
- DoofusOfDeath 6y agoI usually find myself developing C++ code directly on servers, via SSH. In that setup, a laptop + external monitor is my preference, because of portability. If I ever get to do local-machine development again, the choice of laptop vs. desktop really depends on how build times compare, and which platform has Intel CPUs with the required ISA extensions.
- sroussey 6y agoWhich ISA extensions are useful for compilation?
- DoofusOfDeath 6y agoRegarding the speed of compilation, I'm not sure which if any recent ISA extensions matter. What matters to me is the ISA extensions that are needed by the software I'm building, typically DL or HPC code. Life is easier when I can build and test the software on my local machine, without having to involve some fancy new server.
- StillBored 6y agoNone really, compilation is considered a branch/integer workload and has been that way for decades. Its a lot of tree traversals, and short string manipulation. One of the bigger boosts in recently memory were the "fast strings (rep mov*)" implementations about 10 years ago. Single core compilation is actually a fairly good metric for general purpose performance. Of course it scales almost linearly with core count too.
- xrikcus 6y agoMany of us who do use laptops do the builds elsewhere.
- outworlder 6y agoIs DistCC (or related tech) not a thing anymore?