見出し画像

シングル性能を犠牲にして、スレッドを増やすと、マルチ性能が向上する

前置き

みなさんは、マルチスレッディングという技術をご存じでしょうか?

簡単に言えば、分身みたいな感じで、一度に処理できるプログラムを増やす技術です。

では、このマルチスレッドという技術は、果たして意味があるのか無いのか
それについて、語りたいと思います。


現実のマルチスレッド

現実のCPUだと、このマルチスレッドを使うことで、スレッド数をコア数の二倍にすることができます。
(Xeon Phiは例外です)

メリット

このマルチスレッディングを使うことで、同時に実行できるプログラムが増え、並列処理能力が向上します。

ですが、実際はいろんな関係で2倍ではなく、2割から3割くらいしか性能は伸びないと言われています。

デメリット

そんな素晴らしいマルチスレッディングという技術ですが、当然弱点があり、それがシングルスレッド性能が低下するというものです。
(シングルスレッド性能は一つのプログラムを実行する能力って感じです)

疑似的に二つのプログラムを同時に動かすので、片方を実行しているときはもう片方の実行が出来なくなります。

そのため、片方のプログラムの速度だけ見たら、低下する恐れがあります。

極度細粒化によるマルチスレッド

僕がレッドストーンCPUに搭載させているマルチスレッド技術は、僕が独学で考えたもので、「極度細粒化」と名付けています。

メリット

ここから先は

1,777字 / 4画像
この記事のみ ¥ 1,000

この記事が気に入ったらサポートをしてみませんか?