4 ms·
Core count shouldn't matter given the benchmark is single threaded (mentioned in the article). My guess is that CPU frequency plays a huge role in the throughpu
by sirn 3y ago
Core count shouldn't matter given the benchmark is single threaded (mentioned in the article). My guess is that CPU frequency plays a huge role in the throughput. Here's the same benchmark on a baremetal Xeon w9-3495X (Sapphire Rapids Workstation). As seen in the log (best_frequency) this is running at ~4.4 GHz during the benchmark:
partial_tweets<simdjson_ondemand>/manual_time 107280 ns 132468 ns 6469 best_branch_miss=376 best_bytes_per_sec=8.10705G best_cache_miss=1 best_cache_ref=553 best_cycles=342.737k best_cycles_per_byte=0.542722 best_docs_per_sec=12.8375k best_frequency=4.39987G best_instructions=1.42334M best_instructions_per_byte=2.25385 best_instructions_per_cycle=4.15285 best_items_per_sec=1.28375M branch_miss=378.313 bytes=631.515k bytes_per_second=5.48235G/s cache_miss=0.655434 cache_ref=609.834 cycles=352.768k cycles_per_byte=0.558605 docs_per_sec=9.32143k/s frequency=3.2883G/s instructions=1.42334M instructions_per_byte=2.25385 instructions_per_cycle=4.03477 items=100 items_per_second=932.143k/s [BEST: throughput= 8.11 GB/s doc_throughput= 12837 docs/s instructions= 1423337 cycles= 342737 branch_miss= 376 cache_miss= 1 cache_ref= 553 items= 100 avg_time= 107279 ns]
Given in the article Xeon 8488C at 3.4GHz got 6.83 GB/s, and my 3495X at 4.4 GHz got 8.11 GB/s (1.29 times CPU freq, 1.18 times throughput), it does look like the throughput scales to the CPU frequency (although not entirely linear)