GPT-4による要約
このブログ記事では、著者が2013年に組んだ自身のデスクトップPCを新調した経験について語っています。旧PCは重いアプリの開発時にフリーズする問題が頻発しており、10年間使用されたHaswell CPUのスペック不足が原因と判断されました。旧PCの構成はIntel Core i5-4570S CPU、AMD Radeon RX 570 GPU、24GB DDR3メモリで、UnixBenchベンチマークのスコアはシングルスレッドで1300.1、マルチスレッドで3345.1でした。新しいPCはIntel Core i5 13400F CPU、64GB DDR4メモリを搭載し、UnixBenchのスコアはシングルスレッドで2526.8、マルチスレッドで12092.6と大幅に向上しました。このアップグレードにより著者はパフォーマンスの大幅な向上を実感し、次のアップデートは約10年後になると予測しています。
はじめに
今メインで使用しているデスクトップPCは2013年頃に組んだものです。 電源、マザーボード、GPUなどは交換をしたのですが、CPUは10年前から現役で動いています。
当時はそこそこ新しかったHaswellも、現代の基準では低スペックの方に分類される少し時代遅れな代物になってしまいました。 それでも、まだ十分戦えていたのでこれまでは使用を続けてきました。
しかし、最近それなりに動作の重いアプリを開発する機会があったときPCがフリーズして操作できなくなる現象が多発しました。 topコマンドでシステムパフォーマンスを監視してみたところ、CPUの使用率が100%に張り付いていたため、おそらくHaswellのスペック不足が原因だと思います。
重いアプリを開発するときに毎回フリーズしては困るので、Haswellを卒業することにしました。 ただ、重いアプリ開発や重いゲームをするなどの特殊用途以外ではHaswellは今でもまだまだ戦えると思っています。
これまでの構成とベンチマーク
以下のような構成でした。
パーツ | メーカー | 型番 | 備考 |
---|---|---|---|
CPU | Intel | Core i5-4570S | 4コア4スレッド |
GPU | AMD | Radeon RX 570 | |
マザーボード | ASUS | B85M-G | |
メモリ | シリコンパワー | SP016GBLTU160N22 | DDR3, 24GB |
電源 | 玄人志向 | KRPW-AK650W/88+ |
ベンチマークを取得するためにUnix系OS向けのベンチツールである UnixBench を実行しました。 以下が実行結果の一部です。
$ ubench BYTE UNIX Benchmarks (Version 5.1.3) System: saber: GNU/Linux OS: GNU/Linux -- 6.6.7-arch1-1 -- #1 SMP PREEMPT_DYNAMIC Thu, 14 Dec 2023 03:45:42 +0000 Machine: x86_64 (unknown) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") Benchmark Run: 木 1月 04 2024 18:13:25 - 18:41:26 4 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 46855536.1 lps (10.0 s, 7 samples) Double-Precision Whetstone 7001.5 MWIPS (10.0 s, 7 samples) Execl Throughput 3514.7 lps (30.0 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 867382.0 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 228200.8 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 2367003.9 KBps (30.0 s, 2 samples) Pipe Throughput 1481367.1 lps (10.0 s, 7 samples) Pipe-based Context Switching 137025.4 lps (10.0 s, 7 samples) Process Creation 7497.5 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 5047.0 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 1464.6 lpm (60.0 s, 2 samples) System Call Overhead 963172.0 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 46855536.1 4015.0 Double-Precision Whetstone 55.0 7001.5 1273.0 Execl Throughput 43.0 3514.7 817.4 File Copy 1024 bufsize 2000 maxblocks 3960.0 867382.0 2190.4 File Copy 256 bufsize 500 maxblocks 1655.0 228200.8 1378.9 File Copy 4096 bufsize 8000 maxblocks 5800.0 2367003.9 4081.0 Pipe Throughput 12440.0 1481367.1 1190.8 Pipe-based Context Switching 4000.0 137025.4 342.6 Process Creation 126.0 7497.5 595.0 Shell Scripts (1 concurrent) 42.4 5047.0 1190.3 Shell Scripts (8 concurrent) 6.0 1464.6 2441.0 System Call Overhead 15000.0 963172.0 642.1 ======== System Benchmarks Index Score 1300.1 Benchmark Run: 木 1月 04 2024 18:41:26 - 19:09:31 4 CPUs in system; running 4 parallel copies of tests Dhrystone 2 using register variables 151494102.0 lps (10.0 s, 7 samples) Double-Precision Whetstone 25124.8 MWIPS (10.0 s, 7 samples) Execl Throughput 11054.3 lps (29.8 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 1526590.9 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 408266.0 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 4463460.4 KBps (30.0 s, 2 samples) Pipe Throughput 5146668.1 lps (10.0 s, 7 samples) Pipe-based Context Switching 633179.4 lps (10.0 s, 7 samples) Process Creation 25656.5 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 10750.4 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 1470.0 lpm (60.1 s, 2 samples) System Call Overhead 3186426.2 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 151494102.0 12981.5 Double-Precision Whetstone 55.0 25124.8 4568.2 Execl Throughput 43.0 11054.3 2570.8 File Copy 1024 bufsize 2000 maxblocks 3960.0 1526590.9 3855.0 File Copy 256 bufsize 500 maxblocks 1655.0 408266.0 2466.9 File Copy 4096 bufsize 8000 maxblocks 5800.0 4463460.4 7695.6 Pipe Throughput 12440.0 5146668.1 4137.2 Pipe-based Context Switching 4000.0 633179.4 1582.9 Process Creation 126.0 25656.5 2036.2 Shell Scripts (1 concurrent) 42.4 10750.4 2535.5 Shell Scripts (8 concurrent) 6.0 1470.0 2450.0 System Call Overhead 15000.0 3186426.2 2124.3 ======== System Benchmarks Index Score 3345.1
様々なテストの総合スコアである System Benchmarks Index Score を見ると、一度目のテスト (シングルスレッド) では 1300.1、二度目のテスト (マルチスレッド) では 3345.1 でした。
新PCの構成とベンチマーク
電源やストレージ、GPUはそのままで CPU、マザーボード、メモリを新調しました。 購入したパーツは以下のとおりです。 これまではCPUクーラーはIntelのCPUの付属品を使っていたのですが、冷却性能に不安があったためDEEPCOOLの空冷クーラーを購入しました。
パーツ | メーカー | 型番 | 備考 |
---|---|---|---|
CPU | Intel | Core i5 13400F | 10コア16スレッド |
マザーボード | MSI | MAG B760M MORTAR WIFI DDR4 | |
メモリ | CFD | W4U3200CS-16G | DDR4, 64GB |
CPUクーラー | DEEPCOOL | AK400 WH R-AK400-WHNNMN-G-1 |
以下がUnixBenchの結果です。
$ ubench Benchmark Run: 木 1月 04 2024 23:46:32 - 00:14:32 16 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 70405931.9 lps (10.0 s, 7 samples) Double-Precision Whetstone 10915.6 MWIPS (10.0 s, 7 samples) Execl Throughput 4890.7 lps (30.0 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 1990358.2 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 537060.8 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 4956289.9 KBps (30.0 s, 2 samples) Pipe Throughput 3848502.2 lps (10.0 s, 7 samples) Pipe-based Context Switching 310093.9 lps (10.0 s, 7 samples) Process Creation 12308.0 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 5881.5 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 3036.8 lpm (60.0 s, 2 samples) System Call Overhead 3254496.3 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 70405931.9 6033.1 Double-Precision Whetstone 55.0 10915.6 1984.7 Execl Throughput 43.0 4890.7 1137.4 File Copy 1024 bufsize 2000 maxblocks 3960.0 1990358.2 5026.2 File Copy 256 bufsize 500 maxblocks 1655.0 537060.8 3245.1 File Copy 4096 bufsize 8000 maxblocks 5800.0 4956289.9 8545.3 Pipe Throughput 12440.0 3848502.2 3093.7 Pipe-based Context Switching 4000.0 310093.9 775.2 Process Creation 126.0 12308.0 976.8 Shell Scripts (1 concurrent) 42.4 5881.5 1387.2 Shell Scripts (8 concurrent) 6.0 3036.8 5061.3 System Call Overhead 15000.0 3254496.3 2169.7 ======== System Benchmarks Index Score 2526.8 ------------------------------------------------------------------------ Benchmark Run: 金 1月 05 2024 00:14:32 - 00:42:34 16 CPUs in system; running 16 parallel copies of tests Dhrystone 2 using register variables 905802663.3 lps (10.0 s, 7 samples) Double-Precision Whetstone 129262.6 MWIPS (10.0 s, 7 samples) Execl Throughput 50647.5 lps (30.0 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 1837999.7 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 484469.0 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 5906099.1 KBps (30.0 s, 2 samples) Pipe Throughput 37963175.0 lps (10.0 s, 7 samples) Pipe-based Context Switching 3144543.5 lps (10.0 s, 7 samples) Process Creation 123481.4 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 54089.0 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 7357.9 lpm (60.1 s, 2 samples) System Call Overhead 13413753.0 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 905802663.3 77618.1 Double-Precision Whetstone 55.0 129262.6 23502.3 Execl Throughput 43.0 50647.5 11778.5 File Copy 1024 bufsize 2000 maxblocks 3960.0 1837999.7 4641.4 File Copy 256 bufsize 500 maxblocks 1655.0 484469.0 2927.3 File Copy 4096 bufsize 8000 maxblocks 5800.0 5906099.1 10182.9 Pipe Throughput 12440.0 37963175.0 30517.0 Pipe-based Context Switching 4000.0 3144543.5 7861.4 Process Creation 126.0 123481.4 9800.1 Shell Scripts (1 concurrent) 42.4 54089.0 12756.8 Shell Scripts (8 concurrent) 6.0 7357.9 12263.2 System Call Overhead 15000.0 13413753.0 8942.5 ======== System Benchmarks Index Score 12092.6
System Benchmarks Index Score を見ると、一度目のテスト (シングルスレッド) では 2526.8、二度目のテスト (マルチスレッド) では 12092.6 でした。
旧構成 | 新構成 | |
---|---|---|
シングルスレッド | 1300.1 | 2526.8 |
マルチスレッド | 3345.1 | 12092.6 |
シングルスレッドのSystem Benchmarks Index Scoreは 92.2%向上、マルチスレッドでは261.5%向上してました。
おわりに
今回はPCを新調し、新旧のマシンでUnixBenchによるベンチマークを取って性能を比較しました。 ベンチマークの結果、シングルスレッドでは92.2%、マルチスレッドでは261.5%総合スコアが向上していました。
次にまたPCを新調するのは予期せぬ故障がない限りまた10年後とかになるでしょう。 そのときはまたベンチマークをとって性能を比較したいと思います。