UnsplashのZii Millerが撮影した写真
CPUのコア数は「多いほど速い」と言われがちですが、実際の体感やベンチマークが思ったほど伸びないこともあります。性能はコア数だけで決まらず、ソフトウェアがどこまで並列化できるか、メモリやストレージが追いつくか、OSのスケジューリングがどう働くかといった条件が重なるためです。この記事では、コア数とスレッドの違いから、伸びる条件・伸びにくい条件、用途別の考え方、測り方まで整理し、読後に「自分の用途なら何を優先すべきか」を判断できる状態を目指します。
コア数はCPUの重要な指標ですが、コア数だけで性能を断定すると選定を誤りやすくなります。まずは「コアが何をしているのか」「スレッドとどう違うのか」を押さえた上で、コア数が効く場面・効きにくい場面を整理します。
コア数とは、CPU内部にある、独立して命令を実行できる処理単位(実行コア)の数を指します。OSから見ると、コアは「同時に仕事を進められる作業者」のように振る舞います。並列に進められる仕事が多いほど、コアが多いCPUは処理を分担しやすくなります。
ただし「1コア=1つのアプリが担当する」といった単純な理解は危険です。現実の処理は、アプリケーションやOSがプロセス/スレッドといった単位に分割し、状況に応じてコアへ割り当てながら進みます。割り当てる“同時に動ける仕事”が少ない場合、コア数が増えても性能は頭打ちになります。
コア数が効くのは、主に次の条件が揃うときです。
逆に、コア数が増えても伸びにくい典型は次のとおりです。
このため「コア数が多いほど必ず速い」とは言えません。実際の性能は、コア数に加えてクロック周波数、1コアあたりの処理効率(IPC)、キャッシュ、メモリ帯域、CPUアーキテクチャ、電力制御(ターボ)などの組み合わせで決まります。
現在の一般的なPC/サーバーではマルチコアが前提で、OSや主要アプリも並列実行を活用する設計になっています。
コア数と混同されやすいのがスレッド数です。スレッド数はOSから見える「同時実行枠(論理プロセッサ数)」として扱われます。CPUによっては、1コアで複数スレッドを同時に進める仕組みを持ちます(IntelのHyper-Threading、一般にはSMTと呼ばれる方式など)。
ただし、4コア8スレッドが8コアと同等になるわけではありません。スレッド数の増加は、コア内部の空き時間(待ち時間)を活用して効率を上げる仕組みです。負荷が計算中心でコアがすでに埋まっている場合、スレッドを増やしても伸びにくいことがあります。
性能選定では、まずコア数で並列処理の土台を見て、次にスレッド数(SMTの有無)で伸びしろを評価すると整理しやすくなります。
CPUはかつて、クロック周波数の向上で性能を伸ばす時代が続きました。しかし電力と発熱の制約が強くなり、単純な高クロック化だけでは伸ばしにくくなりました。そこで複数のコアを搭載し、並列処理で性能を伸ばす方向へシフトしています。マルチコア化は、同時に複数の処理を進められる点で体感性能を押し上げやすいのが特徴です。
一般的なPC向けCPUは、デュアルコア(2コア)からクアッドコア(4コア)へと主流が移り、現在では用途に応じて6〜8コア以上も珍しくありません。さらに近年は、性能重視のコアと省電力のコアを組み合わせるなど、単純に同じコアを増やすだけではない設計も増えています。
たとえば一部のCPUでは、重い処理を担当するコア群と、軽いバックグラウンド処理を担当するコア群を併用します。この場合、仕様表の「コア数」だけを見て性能を推測するとズレることがあります。どのコアがどの仕事を担う設計か、OSがその設計を活かせるかも合わせて見るのが現実的です。
コア数が増えるほど性能が伸びやすいのは事実ですが、無限には伸びません。代表的な制約は次のとおりです。
「コア数を増やせば解決」と決めつけず、並列化できる割合とボトルネック(メモリ・I/O・ネットワーク)を合わせて見積もることが、失敗しない選定につながります。
コア数が効くかどうかは、最終的にはソフトウェア側の作り(並列化の度合い)で決まります。ここでは、マルチスレッドの基本と、OS・アプリの視点から「伸びる条件」を整理します。
マルチスレッド対応のソフトウェアは、処理を複数スレッドに分解して同時に進められるため、コア数が増えるほど伸びやすい傾向があります。代表例として、次のような処理が挙げられます。
ただし同じジャンルでも、どこが重いかで伸び方は変わります。たとえば動画編集は、タイムライン操作やプレビューは1スレッド寄りになりやすく、書き出しだけが強く並列化されることがあります。「重いのはどの工程か」「その工程が並列化されているか」を切り分けることが重要です。
Windows、macOS、Linuxなど主要OSは、複数コアを前提にタスクをスケジューリングします。OSが担うのは「どの処理をどのコアに割り当てるか」という交通整理です。割り当てがうまくいくと、複数アプリを同時に動かしても体感の引っかかりが出にくくなります。
一方で、コアが増えるほど割り当てが難しくなる場面もあります。たとえば、キャッシュの効き(同じコアで実行を継続したほうが速い)や、サーバーでよく出るNUMA構成(メモリがCPUソケットやコア群に紐づく)などが絡むと、単にコアが多いだけでは効率が出ないことがあります。
「PCが遅い」と感じても、原因がCPUとは限りません。たとえば次のようなケースでは、コア数を増やしても体感改善が小さくなりがちです。
コア数だけで決めず、ボトルネックを特定してからCPU選定に入るのが確実です。
最適なコア数は用途で変わります。ここでは「何コアが正解」と断定するのではなく、判断の軸を用途別に整理します。
ブラウザ、Office系アプリ、チャット、Web会議などは「軽い処理が複数並ぶ」形になりやすい一方、1本の処理が極端に重いとは限りません。こうした用途では、同時に走る処理が増えても引っかかりにくい構成として4コア前後が安定しやすい傾向があります。加えて、メモリ容量やストレージ速度(特にSSDかどうか)が体感に直結します。
ソフトウェアビルドやテスト、写真の一括処理のように「並列化しやすい作業」を頻繁に行う場合、6〜8コアあたりで待ち時間が減りやすくなります。一方、IDEの操作性やUIの反応は1コア性能の影響も受けるため、コア数だけでなく世代や設計も重要です。
書き出し(エンコード)やレンダリングのように、長時間の計算処理が中心で並列化が効きやすい場合、8コア以上で伸びやすくなります。ただし編集作業そのものの快適さは、GPU性能やストレージ性能にも左右されます。CPUに偏って投資すると、構成のバランスが崩れて期待値を下回ることがあります。
ゲームはタイトルによって傾向が分かれます。一定まではコア数が効くこともありますが、フレームレートを左右しやすいのは1コア性能やGPU性能、メモリ遅延、ゲームエンジンの作りです。コア数を増やす前に、GPUや設定、解像度、メモリ構成も含めて評価するのが現実的です。
サーバー用途では、同時稼働数が多いほどコア数が効きやすくなります。仮想化やコンテナでは、vCPU(論理的なCPU枠)をどう割り当てるかが論点になります。過剰割り当て(オーバーコミット)は柔軟性を上げますが、ピークが重なると待ちが一気に顕在化します。SLAがあるなら、ピークの重なり方と余裕の持たせ方(CPUか、台数か)を先に設計しておくと安全です。
コア数選定での失敗は「期待していた伸び方と違った」という形で起きます。避けるには、実際の負荷がCPUで詰まっているのかを見てから判断するのが近道です。
たとえば「CPU全体は50%でも、1コアだけ100%」という状況は、並列化できない部分が支配的であるサインです。この場合、コア数を増やしても伸びにくく、1コア性能やソフトの設定見直しが効きやすくなります。
ベンチマークは便利ですが、負荷の種類が違うと結論がズレます。選定では、可能なら次のように「自分の用途に近い測り方」を優先します。
「コア数が多いから勝つ」は成り立ちにくく、負荷が何に似ているかで評価が変わる点に注意が必要です。
CPUのコア数は、同時に処理を進める力に関わる重要な指標ですが、性能はコア数だけで決まりません。実際には、ソフトウェアが並列化できるか、スレッド(SMT)をどう活かせるか、クロックやIPC、キャッシュ、メモリ/I/Oがボトルネックになっていないか、といった要素が絡みます。用途別に「並列で伸びる処理が多いのか」「1本の処理が支配的なのか」を見極め、必要なら計測しながら、CPUと周辺構成のバランスで決めることが、納得感のある選定につながります。
CPU内部で独立して命令を実行できる処理単位(実行コア)の数です。
なりません。処理が並列化できるか、メモリやI/Oが追いつくかで伸び方が変わります。
コア数は物理的な実行単位の数で、スレッド数はOSから見える同時実行枠(論理プロセッサ数)です。
同じではありません。SMTは待ち時間を有効活用する仕組みで、伸び幅は処理内容に依存します。
アプリが直列処理中心だったり、メモリやストレージがボトルネックだったりすると伸びにくいからです。
一定までは効きますが、タイトルによっては1コア性能やGPU性能の影響が大きいこともあります。
書き出しが重いならコア数が効きやすく、編集操作の快適さは1コア性能やGPU、ストレージにも左右されます。
良くありません。同時稼働数に加え、メモリ、ストレージI/O、ネットワーク、アプリ特性をセットで見積もる必要があります。
あります。メモリ不足、ストレージの遅さ、I/O待ち、ネットワーク待ちがあるとCPUを上げても改善しにくいです。
負荷の並列性を整理し、可能なら実データで計測してから、CPUと周辺構成のバランスで決めることです。