Upgrading my desktop PC

Vincent Bernat

I built my cur­rent desk­top PC in 2014. A sec­ond SSD was added in 2015. The moth­er­board and the power sup­ply were re­placed af­ter a fault1 in 2016. The mem­ory was up­graded in 2018. A dis­crete AMD GPU was in­stalled in 2019 to drive two 4K screens. An NVMe disk was added ear­lier this year to fur­ther in­crease stor­age per­for­mance. This is a tes­ta­ment to the dura­bil­ity of a desk­top PC com­pared to a lap­top: it’s evo­lu­tive and you can keep it a long time.

While fine for most us­age, the CPU started to be­come a bot­tle­neck dur­ing video con­fer­ences.2 So, it was set for an up­grade. The ta­ble be­low sum­ma­rizes the change. This up­date cost me about €800.

Before After
CPU Intel i5-4670K @ 3.4 GHz AMD Ryzen 5 5600X @ 3.7 GHz
CPU fan Zalman CNPS9900 Noctua NH-U12S
Motherboard Asus Z97-PRO Gamer Asus TUF Gaming B550-PLUS
RAM 2×8 GiB + 2×4 GiB DDR3 @ 1.6 GHz 2×16 GiB DDR4 @ 3.6 GHz
GPU Asus Radeon PH RX 550 4G M7 ←
Disks 500 GB Crucial P2 NVMe,
256 GB Samsung SSD 850,
256 GB Samsung SSD 840
←
PSU be quiet! Pure Power CM L8 @ 530 W ←
Case Antec P100 ←

Ac­cord­ing to some bench­mark, the new CPU should be 4× faster when all cores are used and 1.5× faster for a sin­gle-threaded work­load. Com­pil­ing an ar­bi­trary3 ker­nel pro­vides a 3× speedup. Before:

$ lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ   MINMHZ
  0    0      0    0 0:0:0:0          yes 3800.0000 800.0000
  1    0      0    1 1:1:1:0          yes 3800.0000 800.0000
  2    0      0    2 2:2:2:0          yes 3800.0000 800.0000
  3    0      0    3 3:3:3:0          yes 3800.0000 800.0000
$ CCACHE_DISABLE=1 =time -f '⌛ %E' make -j$(nproc)
[…]
  OBJCOPY arch/x86/boot/vmlinux.bin
  AS      arch/x86/boot/header.o
  LD      arch/x86/boot/setup.elf
  OBJCOPY arch/x86/boot/setup.bin
  BUILD   arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready  (#1)
⌛ 4:54.32

After:

$ lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ    MINMHZ
  0    0      0    0 0:0:0:0          yes 5210.3511 2200.0000
  1    0      0    1 1:1:1:0          yes 4650.2920 2200.0000
  2    0      0    2 2:2:2:0          yes 5210.3511 2200.0000
  3    0      0    3 3:3:3:0          yes 5073.0459 2200.0000
  4    0      0    4 4:4:4:0          yes 4932.1279 2200.0000
  5    0      0    5 5:5:5:0          yes 4791.2100 2200.0000
  6    0      0    0 0:0:0:0          yes 5210.3511 2200.0000
  7    0      0    1 1:1:1:0          yes 4650.2920 2200.0000
  8    0      0    2 2:2:2:0          yes 5210.3511 2200.0000
  9    0      0    3 3:3:3:0          yes 5073.0459 2200.0000
 10    0      0    4 4:4:4:0          yes 4932.1279 2200.0000
 11    0      0    5 5:5:5:0          yes 4791.2100 2200.0000
$ CCACHE_DISABLE=1 =time -f '⌛ %E' make -j$(nproc)
[…]
  OBJCOPY arch/x86/boot/vmlinux.bin
  AS      arch/x86/boot/header.o
  LD      arch/x86/boot/setup.elf
  OBJCOPY arch/x86/boot/setup.bin
  BUILD   arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready  (#1)
⌛ 1:40.18

Here we go for an­other seven years!

Up­date (2026-05)

I have re­cently up­graded my screens with a pair of Alien­ware 27 4K QD-OLED mon­i­tors and the GPU with a Gi­ga­byte Radeon RX 9060 XT. I have also up­graded the mem­ory to 64 GiB and re­placed my stor­age disks by a sin­gle Sam­sung SSD 980 PRO 1TB NVMe.