11 ms·
Gamers are the biggest audience when it comes to high-end consumer CPUs. You don't need $550 CPU for your laptop or PC if you don't play games. Many profession
by f311a 6y ago
Gamers are the biggest audience when it comes to high-end consumer CPUs. You don't need $550 CPU for your laptop or PC if you don't play games.
Many professionals, including developers, don't need such CPUs too.
When I need a lot of CPU power, I just ask my company to provide me servers.
- cma 6y agoIf you compile large c++ codebases they are a godsend. A slide showed 5950x was only 9% better at a compiler benchmark than the 3950x though. A deeper pipeline based IPC increase may suffer with missed branch prediction in the type of parsing and optimizing workloads of compilers and not get the full benefit.
- f311a 6y agoDo 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?
- tmd83 6y agoYeah I noticed that comparison and was surprised at that given the amazing single thread benchmark performance improvement. We really have to see the benchmark. One might end up in a situation where for developers the older generation cpu being cheaper and more available might make more sense. I wish somebody really did some suitable benchmark suite for developers.
- vbezhenar 6y agoYou don't want older generation CPU. You won't clean/build your project after every change. You'll use some kind of incremental build which will use few cores. Your IDE will use few cores. And significantly faster single-thread performance from new generation will be extremely helpful.
- Ygg2 6y agoDo have to wonder if 5950X is that much better than 5900X in GCC?
- cma 6y agoIt should be: all the way up to the 64 core threadripper scales pretty linearly for compiling. It probably won't be worth it over whatever the 3950X price drops to though, if per-core performance is really only 9% better in compiling workloads.
- warrenm 6y agoApparently you don't do development, local virtualization, work on enterprise apps, or any of 1000s of other things that benefit from extra horsepower
- manigandham 6y agoThey said biggest audience, not the only one.
- Glyptodon 6y agoI definitely need ram way more than I need CPU, but there are still plenty of things that CPU helps me save time with as a dev, and often those things are somewhat parallel. So more cores is good too.
- gambiting 6y ago>>Many professionals, including developers, don't need such CPUs too. Lol, sorry, but our C++ projects have an average build time of 40 minutes on an 8-core/16threaded Xeon CPU in my workstation. Even using Fastbuild/SN-DBS it still takes 5-10 minutes. We'll take any number of cores we can get, thank you.
- DoofusOfDeath 6y agoI wasn't familiar with Fastbuild or SN-DBS. Can/should they be used in conjunction with ccache?
- f311a 6y agoYeah, but there are 10 JavaScript developers for each C/C++ developer. I'm a Python developer and I can work from laptop. I do a lot of data processing and my laptop can handle development and testing. On production, some of the scripts are running on 64 core machines and use vector operations via numpy and scipy.
- sroussey 6y agoEven JS devs “compile” their code and use multiple threads. And when JS runs, every JS engine uses multiple threads (parsing, running, GC). Just look at how many threads chrome is using on a single web page. No need to throw shade on JS devs and their equipment needs.
- f311a 6y agoYes, but you can't use 105W CPU in your laptop anyway. In a company where I work, almost every front-end developer uses a laptop with an external display because it's a portable solution.
- effie 6y agoI don't know if you can use it, but you sure can buy it: https://www.originpc.com/gaming/laptops/eon15-x-amd/ https://www.originpc.com/gaming/laptops/eon15-x-amd/
- overcast 6y agoYou don't need it if you DO play games. I'm running an 11 year old Xeon, that maxes every modern game at 2560x1600 on a 1070. GPU is WAY more important than CPU in gaming.
- leetcrew 6y ago> GPU is WAY more important than CPU in gaming. depends on the game. plenty of popular esports titles will bottleneck on the CPU with even a low end graphics card.
- overcast 6y agoLook at any gaming benchmarks, unless they are running them at low resolutions, the CPU is not the bottleneck. I agree there is some fringe simulation cases, but most gaming is not inhibited by CPU. Once you're up in the 2k and 4k land, the GPU is the bottleneck. This video focuses on 1080p performance benefits. There is zero reason to be upgrading between generations unless you're just burning money. Anyone paying $500+ every time there is a new CPU platform, is guaranteed already running 2k and 4k content.
- outworlder 6y agoSimulation is not necessarily 'fringe'. Kerbal Space Program, Oxygen Not Included, heck... Dwarf Fortress (ok, the last one IS fringe). You are correct that most games don't use that much CPU. Most titles will run comfortably with an Intel I3 from the past three generations or so, provided there are no bottlenecks in the GPU. The CPU will be the bottleneck, but if you are getting sufficient framerates, so what? Modern CPUs are insanely powerful. Even then, I moved to Ryzen - for the above mentioned titles.
- overcast 6y agoI run Kerbal and Dwarf Fotress on an 11 year old Xeon, as well as every other modern game with a 1070 at 2560x1600. All the eye candy on. I'm not suggesting running a decade old CPU, but it's completely silly for this presentation to be pumping expensive CPUs for 1080p gaming benefits.
- lliamander 6y ago> Many professionals, including developers, don't need such CPUs too. True, though I think there's a distinction between "need" and "can make use of". If I'm going to spend 8+ hours a day working on a computer, I'd probably be willing to spend a extra 20% or whatever on total system cost to eek out a bit extra performance even if that cost doesn't make sense from a strict cost/benefit calculation. That said, there isn't really a good way for developers to calibrate the hardware to their workload.
- ATsch 6y agoIt's not that developers don't need these CPUs, it's just that there's a lot more gamers than developers, and most of them will buy laptops or be provided workstations with Ryzen PRO or Threadripper processors.
- GordonS 6y ago> Many professionals, including developers, don't need such CPUs too While I agree that many people don't need mass multi-threading, I don't count developers among those. Compilation and transpiration are computationally intensive, and usually take advantage of multi-threading. Developers often also run multiple virtual machines and containers, for example to run a database, message bus or blob store. As a developer, I'll take all the compute capacity I can get, thank you very much!
- walshemj 6y agoNot for content creators and other workstation type applications - all those non server workstation boards are going some where right?