1BRC on a Threadripper 9980X

Yesterday I published some benchmarks of Hardwood 1.0 on my Threadripper. Someone suggested I run the One Billion Row Challenge too, to see how it does, so here it is!

Gunnar Morling ran the original benchmarks on an EPYC 7502P, Zen 2, 32 cores with 128 GB of RAM. The official challenge was on 8 cores (sequentially chosen) plus a bonus of all 32 cores.

I chose to run the benchmark using 9 contenders from the published 8 and 32 core results. The 9 contenders I ran were thomaswue, artsiomkorzun, jerrinot, serkan-ozal, abeobk, stephenvonworley, royvanrijn, mtopolnik, yavuztas.

Threadripper 9980X vs EPYC 7502P

Before we go through the results, let’s compare these two machines.

  • Hertzner AX161 (EPYC 7502P, Zen 2): 

    • 32 cores / 64 threads

    • 128 GB ECC DDR4

    • RAM disk configured for 1BRC

  • Threadripper 9980X (Zen 5):

    • 64 cores / 128 threads

    • 256 GB ECC DDR5 CL52 (with some minor secondary timing tweaks)

    • Samsung 9100 PRO, 8TB (no RAM disk)

    • Cooling: Silverstone XE360-TR + RAM cooling fans

    • SMT disabled

CPU Monkey reported the following Geekbench results

Fig 1. Geekbench 6 scores, with the Threadripper over 2x better performance

So we’re expecting the Threadripper to do a lot better.

The results

Threadripper results based on Ubuntu 26.04 and EPYC on Fedora 39.

Baseline (single-threaded)

  • EPYC 7502P = 4:49

  • Threadripper = 1:15

Threadripper is 4x faster on the single-threaded baseline.

8 cores

Best: thomaswue at 502 ms.

Fig 2. 8 cores, sequentially selected

This is roughly inline with the Geekbench results, with the Threadripper being 2.2-3.1x faster.

32 + 64 cores

Best 32 cores: thomaswue, artsiomkorzun both at 203 ms (jerrinot at 204 ms)

Best 64 cores: thomaswue at 140 ms

Fig 3. EPYC 32 cores, Threadripper 32 (selected sequentially) and 64 cores

A much more varied result this time:

  • artsiomkorzun and jerrinot saw no improvement from 32 to 64 cores, whereas the rest saw a non-trivial improvement, with 1.5x being the best.

  • serkan-ozal, the only non-GraalVM entry in this list, saw a 1.8x speed up with the 32 core Threadripper test over its EPYC counterpart.

  • yavuztas saw basically no improvement on the Threadripper 32 core over its EPYC counterpart.

The overall winner is…

The thomaswue submission won on 8, 32 and 64 cores, with artsiomkorzun and jerrinot just behind. 

Cores Rank Entrant(s) Time
8 1st thomasvue 502 ms
8 2nd artsiomkorzun 603 ms
8 3rd jerrinot 616 ms
32 1st thomasvue / artsiomkorzun 203 ms
32 3rd jerrinot 204 ms
64 1st thomasvue 140 ms
64 2nd artsiomkorzun / jerrinot / abeobk / stephenvonworley 203 ms

Can you beat this?

Can I nerdsnipe anyone into trying to beat 140 ms?