A friend recently asked me for some tips to buy a new desktop computer for programming and what I think would be the best choice for components. I started typing away a few things but quickly found myself deep in the proverbial rabbit hole, and since this is a question I am asked fairly frequently, I figured I’d expand a little on what I wrote him and create a blog post.
Besides, black friday 2022 is almost upon us, and even though I find the concept abslutely abhorrent (that’s a long topic for another day), many people may find it a good time to get some of this stuff. Also, it helps with SEO.
Table of contents
- What and why
- Graphics card
- Power supply
- The end!
What and why
Why a desktop instead of a laptop, you ask? When it comes to work, laptops are more common than desktops nowadays but even though I love the mobility a laptop grants me, I still want to have a desktop as my main machine. It just makes more sense to me because I can individually upgrade or replace any part as I want or need, drastically reducing my environmental impact and not having to pay for an entire new machine.
And since this is a work machine, I always try to avoid the flashy “gaming” stuff with ridiculous LED lights and absurd price tags. Also, I never go for the high-end stuff because it’s too expensive and I just don’t need it. On the other hand, I don’t want to get the cheaper stuff, since that would make the machine slow and it wouldn’t last much.
Currently, my main desktop has these parts in it:
- AMD Ryzen 5 2600 CPU with 6 cores and max clock of 3.4 GHz
- Gigabyte AB350 3 motherboard
- 32 GB of RAM DDR4 Kingston HyperX Fury
- Asus Radeon RX580 graphics card with 8GB of RAM
- Around 5 TB of storage in multiple Samsung SSDs (one 840 EVO, three 870 EVO)
All components except for the three 870 EVO SSDs are a few years old but it’s still a very solid machine. The graphics card was launched in 2017 and I bought mine in 2018. It’s a good card and I still play games with it without any problem. The CPU is also from 2018 but I honestly don’t feel the need to upgrade.
What I suggest next is what I would buy for myself if I were building a new machine from scratch right now, November 2022. Keep in mind that my main focus is software development, not “gaming” (whatever that degenerate verb means). I do play some games from time to time but they’re not as heavy on the GPU as the big AAA titles. My main concern is having plenty of RAM and a decent CPU that can easily run multiple processes without choking.
I also suggest that you check UserBenchmark to see for yourself what’s out there and find your sweet spot between price and power.
You will find links to Amazon for the products I suggest. If you buy it from them, I’ll get a small fee at no cost to you.
I never used affiliate links on this website and I actually removed the ads I used to have here many years ago but I decided to give this a try and see if I can earn a few €€ from it.
That said, I would strongly suggest you support a local shop and buy from them instead, if you can (they’re usually more expensive).
My recommendation would be AMD, since it tends to be slightly cheaper than Intel for the same power and have more cores for the same price-point.
They recently announced their new Ryzen 7000 lineup of CPUs along with a new socket AM5, and while this means the CPUs and motherboards will be more expensive due to the novelty factor, I still recommend them because if I’m building a new machine, I want it to last as much as possible.
That said, I’d probably go for the Ryzen 5 7600X (buy it on Amazon), based on their “Zen 4” architecture. It’s one of the more affordable ones at around €350 but still packs 6 cores / 12 threads, and a clock speed of 4.7 GHz which can be boosted up to 5.3 GHz. My current one also has 6 cores but a lower clock speed and like I said, it’s more than enough for what I do.
If you don’t mind paying an extra €100 for a couple more cores, slightly more speed, and a tiny bit more L1 and L2 cache, you can go for the Ryzen 7 7700X (buy it on Amazon). Depending on how heavy your CPU usage is, or if you’re not planning to get a graphics card (all Ryzen 7000 CPUs have graphics capabilities integrated) it may be worth the extra cost.
Yes, you could even go for a Ryzen 9 7900X or 7950X but frankly, I don’t think the extra cost is worth it, and it has the added negative point of spending more energy, which in turn means more money spent on electricity and the equivalent added environmental impact. It also requires more cooling, and though the cooler I suggest is enough, it will probably be more noisy.
The Ryzen 7000 series don’t come with a cooler, so you need to get one separately. Both the Ryzen 5 7600X and the Ryzen 7 7700X have a TDP (Thermal Design Power) of 105W, so you need a cooler designed to handle at least that much. If you decide to get a more powerful CPU, you need to check that the cooler you get is enough for it.
We want coolers to be silent, especially when building a machine for work. Usually, larger fans can displace more air and thus need to rotate less to cool down their targe. This also makes is tricky, though, because coolers nowadays are huge beasts that take up some considerable real-estate inside the computer case and can even interfere with other components, more commonly the RAM modules.
The two coolers I mention should fit any of the motherboards I suggest without any issues but keep this in mind if you pick different components and always check the cooler’s dimensions to make sure you have enough clearing for whatever is around the CPU socket.
Noctua has been one of my favourite brands for coolers for a long time because they haven’t fallen prey to the “gaming” BS, so their parts are sober, focus on quality, and don’t have any unnecessary RGB lights or fancy designs. Their website also doesn’t look like it was designed for 5-year olds, and you can actually get useful information on it. But more importantly, their coolers are really good, they are silent and last a very long time.
In case you’re wondering, no, you don’t need a water cooler for these CPUs. Maybe if you want to overclock them, but even then, the two coolers I suggested should be able to handle it - but I don’t recommend overclocking, so do it at your own risk. In any case, if you want to splurge on a fancy toy, the be quiet! Pure Loop (Amazon) or the be quiet! Silent Loop 2 (Amazon) seem like good choices. I’d save the money for something else, though.
The motherboard you get needs to take the CPU into account, of course. Not just the brand, though - the socket type (AM5, AM4, etc), the chipset and RAM type also have to be considered.
The socket is just the physical socket where you insert the CPU. The chipset is what controls the flow of data between all the components, like the CPU, the GPU, drives, RAM, etc. Different chipsets have different characteristics. For example, some may support more SATA ports than others.
Ryzen 7000 supports DDR5 RAM and socket AM5. DDR5 is pretty new, and the Zen 4 and socket AM5 are the latest architectures from AMD, so if you buy a motherboard that supports them, it means it’s more “future-proof” and a machine based on them will last longer.
The Ryzen 7000 works with these 4 chipsets: X670E, X670, B650E and B650.
The main difference between the X670(E) and the B650(E) is that the X670(E) has more PCIe lanes, and it also supports more USB and SATA ports.
The difference between the ones with E at the end and the ones without, is that the “E” version supports PCI-Express 5.0 for both the graphics (x16 socket) and NVMe drives, while the non-E version only supports PCIe 4.0 for the graphics card and it is optional for the NVMe drive (the board manufacturer decides, I guess?).
See the table below, which is a simplified version of the full table from AMD’s page linked above:
|Chipset||Graphics||NVMe||USB 10 GBps||USB 20 GBps||Max SATA ports|
|X670E||1x16 or 2x8 PCIe 5.0||1x4 PCIe® 5.0 plus 4x PCIe® GPP||12||2||8|
|X670||1x16 or 2x8 PCIe 4.0||1x4 PCIe® 5.0 plus 4x PCIe® GPP||12||2||8|
|B650E||1x16 or 2x8 PCIe 5.0||1x4 PCIe® 5.0 plus 4x PCIe® GPP||6||1||4|
|B650||1x16 or 2x8 PCIe 4.0||1x4 PCIe® 4.0 (PCIe® 5.0 Optional)||6||1||4|
I would go for the B650 because I don’t think I’ll need more than 4 SATA ports and the fast USB ports are not that important, but again, I’d like to future-proof my machine as much as possible, so broader PCIe 5.0 support would be nice. The B650E it is, then.
The actual motherboard
After looking at MSI, Gigabyte, Asus and ASRock, I think the best value for money would be an MSI MPG B650 EDGE WIFI (Amazon). For a little bit more (~€50) you can also get the MSI MPG B650 CARBON WIFI (Amazon) which, compared to the EDGE, supports 2 PCIe x16 slots (as opposed to only 1), 4 M.2 slots (only 3 on the EDGE), and a few more USB ports.
The ASRock B650E PG Riptide WiFi (Amazon) is also a nice choice. If you want to throw some money out the window, the Gigabyte B650E AORUS MASTER (Amazon) is also good but it costs a lot more than the other two.
All of these include bluetooth 5.2, audio and wireless networking, so you won’t need to buy additional parts for those.
The AMD Zen 4 architecture only supports DDR5. All Zen 4 / AM5 motherboards support it, so that’s one less concern. Other than that, you have to pay attention to two numbers: data rate and CAS latency.
In very simple terms, the data rate is the memory “speed” in MHz, and it is usually represented as a number after the DDR designation, such as DDR4-3600 or DDR5-6200. Usually, higher is better but your motherboard and CPU have to support it.
The CAS latency, sometimes abbreviated as CL, is basically the amount of time it takes for the memory circuit to initiate an operation. Obviously, you want this to be as low as possible.
The motherboards I suggested support dual-channel (meaning you should install RAM modules in pairs), non-ECC, un-buffered memory, up to DDR5-6600.
With the current prices, 32 GB is probably the sweet spot. More or less than that and you’ll probably be paying more per GB than it’s worth.
The choice for this part is easy. For years now, Samsung’s EVO line has been the best value for money with really good performance that outshines pretty much all competition.
They’re both PCIe 3.0, though, which is a shame since the motherboard supports PCIe 5.0, which is 4 times faster - from 32 GB/s to 128 GB/s. Samsung has the 990 PRO (Amazon), which is PCIe 4.0 at 64 GB/s, already double the speed of PCIe 3.0 - but also double the price. Might be worth it, if you have the spare budget.
PCIe 5.0 drives are still not available for mere mortals but once they are, you’ll be able to upgrade, if you really want to squeeze all the juice from your machine.
If you’d rather have a more traditional SATA drive, the 1 TB Samsung 870 EVO (Amazon) is your choice. The QVO should have similar performance but it’s supposed to last less due to the inferior storage cell technology. Keep in mind these will be significantly slower, though, typically less than 1 GB/s.
One note about speed: I’m mentioning the maximum supported speeds of the PCIe bus but the actual speed of the SSDs will certainly be lower. For example, according to UserBenchmark, the 970 EVO Plus’ sequential read speed goes up to 2.3 GB/s, while the 870 EVO only goes up to 468 MB/s.
If you don’t want to use the integrated GPU from the CPU, you can get a dedicated (or “discrete”, as they’re called nowadays) graphics card. I never go for the high end ones because they’re ridiculously expensive (thanks again, “gaming”).
I tend to prefer AMD’s GPUs because they have officially supported open source drivers in the Linux kernel. Many people say they have terrible experiences with the open source Radeon drivers but so do many others with NVidia’s drivers. My experience is that AMD’s open source drivers have worked much better for me than NVidia’s ever did (or even AMD’s closed-source drivers, for that matter).
Keep in mind, though, my benchmark is not AAA games, since I don’t find most of them interesting at all. For those, you would probably be better served with a more powerful GPU, like the Gigabyte Radeon RX 6600-XT Gaming OC 8GB (Amazon)
You power supply unit (PSU) needs to be able to cope with the demands of the rest of your hardware. Without a dedicated graphics card and one of the CPUs I suggested, a 450 W PSU would probably be enough. That said, I would recommend getting a beefier PSU because eventually, you may want to upgrade to a more powerful CPU or add a dedicated graphics card, and in that case, 450 W simply won’t be enough, so I’d go for at least 650 W, which definitely covers all the components I suggest here.
You can also use a power supply calculator to have an idea of how much power you’ll need for your components.
Another thing to keep in mind is cable management. A modular or semi-modular PSU helps tremendously in this because it allows you to disconnect the cables you don’t use. This has more advantages than it seems at first: better airflow and thus, better cooling; less cluttered inside of the case, which makes handling the innards of your machine easier; more room for other parts; in the unlikely event that you want to temporarily remove the PSU, you don’t have to disconnect and then reconnect the cables from all the components, you just need to do it directly on the PSU, which is a lot easier.
With that in mind, my suggestion goes to the be quiet! Straight Power 11 750W Platinum (Amazon). This should give you more than enough power even for a better dedicated graphics card than the ones I suggested but if you think that in the future you may want a more powerful graphics card or a beefier CPU, you can go for the 850 W version (Amazon) or even the 1000 W one (Amazon). The price difference between the 750W and the 1000W is “only” ~€50, so if you’re not sure, perhaps it’s worth spending a little bit more but ensuring you won’t have to switch the PSU after a few months or a year.
Since this is a work machine and not a toy, I recommend simple cases that prioritize silent operation and good air flow, and do away with the useless RGB lights and transparent panels that only make it more expensive without adding any real value.
That’s it, you have all the necessary components to assemble your machine. Would you do anything differently? Let me know in the comments. If not, then it’s time to grab those parts and have fun building your new desktop computer!