先日、少しショックな出来事がありました。最新のRyzenで組んだ検証用PCの処理速度がイマイチなのです。システムトレードソフト イザナミの検証時間で、5年前に組んだi7の検証用PCに処理時間で負けるという結果になりました。
結論から書くと、株や為替の検証に向くCPUはIntelのiシリーズです。理由はシングルスレッドの処理速度がRyzenのそれよりも速い傾向にあるためです。単純にマルチコア・マルチスレッド化よりもクロック周波数。これが検証時間を短縮させるために必要な性能でした。
逆にクロック周波数さえ速ければ、古いCPUでも処理時間を向上させることができると考えます。以下に詳細を書いていこうと思います。
Contents
はじめに
最初に事の成り行きから説明してきましょう。
先日のブラックフライデーを利用して、管理人は新しい検証用PCを組み上げました。そこで選んだのが、流行りのRyzenシリーズです。コストパフォーマンスが高いことで知られていて、値段の割にはコア数とスレッド数が多いことが特徴です。
検証用PCのスペックは以下の通りです。Ryzen7の5800Xに32GBのメモリを積みました。もちろんストレージはSSDです。
ところが実際にイザナミで株価の検証を始めると、とある違和感に気づいたのです。
あれ?時間かかり過ぎじゃね?
そんな訳で、実際に検証時間を比較して、それまで使っていたPCとの優劣を判断してみようと考えました。
Ryzen5800Xでも5年前のi7より遅かった
結論はタイトルの通りです。イザナミの検証時間は、従来から使っていたCore-i7(7700K)のPCの方が速いという結果になりました。
検証時間は新規PCが3分程度、旧PCが2分程度という結果です。管理人の持つルール集の中で一番処理に時間の掛かるものを検証してみましたが、どちらも同じルールを利用しています。
単純に考えれば、最新のCPUの方が速く処理が終わるはずです。ただ、結果は逆転。この違いは何だろう?と考えました。
そこで行き着いた結論が、シングルコアの処理速度になります。
重要なのはシングルコアの処理速度
シングルコアとマルチコアの違いについて、まず書きましょう。
シングルコアとは、CPUが持つ単一の計算処理装置のことを指します。CPUは内部でゼロイチの処理を行う訳ですが、一つのコアに付き一つの処理しかできません。OS上では一見して複数の処理を並行して行っているように見えますが、実は一つのコアで順番に処理を行っています。
一方で、マルチコアというのは、上記のシングルコアを複数搭載していることを指します。現在のCPUではもはや基本で、クアッドコア(4つ)とかオクタコア(8つ)とかいう言葉が使われますね。複数のコアを搭載することで、複数の処理を並行して行うことができます。
株や為替の検証ソフトはマルチコアに対応していない?
話を元に戻しましょう。疑問形で書きましたが、多分、株や為替の検証ソフトは並列処理に対応していません。
これはイザナミの処理画面を見ると分かります。検証中は下記画面のように検証中の銘柄が順次表示される仕様になっています。つまり、検証プロセスは逐次処理で、複数の銘柄を並行して処理する仕様にはなっていないのです。
つまりは、検証速度は単純に逐次処理の処理速度(=CPUのクロック周波数)に依存するということです。これが最新のRyzenでも5年前のi7に処理速度が劣る結果を生み出していました。
上記の通り、管理人の旧PCに載せてあるCPUは5年前の製品とは言え、クロック周波数が4.2GHzと速い部類のスペックに入ります。コアの数こそ劣るものの、シングルコアの処理速度は新PCよりも速いのです。
シングルコアの性能で考えればiシリーズが好ましい
今回は株の検証ソフトであるイザナミを利用して検証時間を測ってみました。ただ、おそらくですが、FXの検証ソフトであるMetaTrader4についても同じことが言えると思います。Googleでざっと調べた限り、MT4も並列処理には対応していないソフトウェアとなっています。つまり、株と為替の検証ソフトを代表する2製品において、マルチコアCPUは優位に働かないということが分かります。
さて、シングルコアの性能で考えた場合、AMDのRyzenシリーズよりもIntelのCore-iシリーズの方がクロック周波数が高い傾向にあります。巷のレビューでは、よくRyzen7の5800Xとi7の10000番台が比較に出されます。ベンチマークテストで似たような結果を出すからです。
ただ、クロック周波数だけを比較してみると、必ずしもRyzenのパフォーマンスが高い訳ではないと分かります。以下の表は、その比較をしたものになります。
CPU | クロック周波数 | 価格(Amazon) |
---|---|---|
Ryzen7 5800X | 3.8GHz | 53,000円 |
Core i9-11900KF | 5.3GHz | 59,895円 |
Core i7-11700KF | 5.0GHz | 43,500円 |
Core i7 12700KF | 3.6GHz | 50,980円 |
もちろん、個人の使うパソコンには多様な用途が求められます。特にゲームのような並列処理を多用する用途では、Ryzenのコストパフォーマンスは確かに高いでしょう。ただ、純粋な統計処理や科学計算の用途を考えるのであれば、軍配はIntelのiシリーズに上がると考える次第です。
おわりに
以上のように、今回は株や為替の検証用PCに適したCPUについて思う所を述べてみました。結論としては、やはり実務向けのPCにはIntelのiシリーズが向いているんじゃないか?という意見を持っています。
ただ、断っておきたいことは、これはあくまで2021年現在の話である点です。もしかしたら、システムトレードソフト イザナミのような検証ソフトでも並列処理が採用されるかも知れませんし、新規の検証用ソフトが発売されるかも知れません。実際の所、管理人が少しいじっているMatlabという計算ソフトは並列処理に対応しています。そして、株価の処理を行うことも可能です。
まあ、結局の所「CPUの種類はお好みで」と言ったところでしょうか。管理人はIntelの回し者でもありませんし、むしろAthlon時代からAMDのCPUをよく買ってきました。特に今回の新PCも検証用とは言いながらもグラフィックボードを載せていますし、ゲームもします。旧PCも現役で動いていますので、Ryzenを買ったことにあまり後悔はしていません。なかなかの良心価格で買うこともできましたしね。
面白いのは、検証用PCを中古のiシリーズで組むことです。現在、半導体不足で巷のPCパーツは高騰を続けています。予算が厳しい方もいるかも知れません。そんな方は、中古CPUの利用も検討してみてはいかがでしょうか。中古であれば当時のハイスペック製品も割安価格で買うことができます。今回のような検証用であれば、5年前のPCでも十分動きますので、一考の余地ありと考えます。
後日談(質問箱より)
ここからは後日談です。Twitterの質問箱へのご質問がありました。以下に追記したいと思います。
- CPUをオーバークロックしてイザナミの検証をするとどうなるのか?
- O.C.してイザナミの検証を行うと何か弊害があるか?
上記が、ご質問の内容です。
まずはPCが亡くなられたということでご愁傷さまでございます。ただ、最近だと半導体不足が和らいでいるので良い買い替え時かもしれません。DDR5対応のマザボが安くなっていて、個人的にはよだれが垂れてきて困っています。
それはさておき、ご質問の回答です。
イザナミの検証結果
O.C.して計算時間を測定してみました。以下の通りです。
- ◎旧PCのi7-7700K
- 4.2GHz 115.625sec
- 4.6GHz(O.C.) 113.625sec
- ◎新PCのRyzen7 5800X
- 3.8GHz 106.640sec
- 4.85GHz(O.C.) 99.672sec
あれ?と思われるかもしれませんが、記事を書いた時点の測定結果と様子が変わっています。Ryzen7の方が早くなっているのです。
マザボのファームウェアをアップデートして出力が最適化されたことが一因でしょうか。イザナミの内部プログラムが変わったせいかも?とも思います(夏にアップデートがありましたよね)。いずれにしても、現在の構成だと、最新CPUの性能が良く出ている状況です。
O.C.の問題点
さて、O.C.をしての検証に問題があるかというご質問もありました。
問題があるとすると、PCの安定動作が損なわれるということでしょう。マザボの自動チューニングでO.C.しましたが、やはり安定性は損なわれるようです。
実を言うと、夏以降にブルーバックが頻発していたので、定格運転を続けていました。特に水冷モジュールを止めてしまったので、熱周りの条件が厳しくなったようです。熱対策込みで新調するのであれば、一考の余地があるかも知れませんが。
また、検証時間に実運用上の差がほとんどないという点もネックです。10秒とかそこら辺の差のために安定性を犠牲にするかというと、正直言って微妙です。
結論として、わざわざイザナミのためだけにO.C.することはおすすめしないという判断になりました。ご納得いただけましたでしょうか。
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。