AOYAMA KOJI's PROGRAMMING BLOG

円周率を算出するベンチマーク全員向け(プログラミング無関係)プログラマー向け実装解説

2025/04/12
円周率を算出するベンチマーク

 本記事では、円周率の算出プログラムを利用したベンチマークアプリケーションを公開します。
 これにより、使用しているマシンの性能を測定することができます。 本アプリケーションで測定できる範囲についても、本記事で解説します。


使い方


 【円周率 桁数】のボタンを押下してください。 その桁数分の円周率を算出し、完了までの時間を計測します。
 桁数に対する秒数を確認することで、マシンパワーを確認することができます。
 なお、10,000桁の円周率算出に数十秒かかる場合がありますので、ご注意ください。 必ず、桁数の低い方からお試しくださいますよう、お願いいたします。

円周率算出ベンチマーク





(参考)筆者手元の結果


 参考までに、筆者が手元で調べた円周率10,000桁の算出秒数は以下の通りです。 Webブラウザーによってもかなり差があります。 Chromium優秀ですね。
マシン
Webブラウザー
結果
Windows PC
Edge
1秒
Windows PC
Chrome
1秒
Windows PC
Firefox
44秒
iPhone
Safari
16秒
iPhone
Chrome
15秒

[PR]

実装概要と測定対象プログラマー向け実装解説


円周率を算出するベンチマーク
 簡単に、実装の概要と、何が測定できるのかを解説します。
 円周率の算出処理は、分割が可能です。
 本記事のプログラムは、複数の円周率算出スレッドを生成して、処理を分割して渡し、並列処理しています。 これにより、コアの多少を含めた計算処理能力が測定できます。

スレッドとは


 プログラムは、スレッドと呼ばれる処理の単位で実行されます。 スレッドは複数生成することができ、各スレッドの処理は独立して実行されます。

並列処理とは


 複数のスレッドを使うなどで、同時並行でプログラム処理をすることを、並列処理といいます。

コアとは


円周率を算出するベンチマーク fig.2
 コンピューターは、CPU(しーぴーゆー)と呼ばれるパーツが、プログラムを実行します。
 最近のコンピューターのCPUには、その中にコアが複数入っていて、実際にはそのコアがプログラムを実行します。 コアはそれぞれ、独立してプログラムを実行できます。 そのため並列処理との相性が良いです。
 本記事のプログラムは、コアが多いほど短時間で計算が終わります。

まとめ


 本記事では、円周率の算出プログラムを利用したベンチマークアプリケーションを公開しました。 また、並列処理の実装と、複数コアに関する測定についても解説しました。
 今回用いた技術については、 計算精度を高める方法円周率を算出する式の基本高速に円周率を算出する式、にて解説していますので、ぜひ、ご確認ください。

補足


・画像内のラスタライズ文字フォントにOpen Font LicenseNoto Sans Japaneseを使用しております。
・本記事で紹介した各製品は各社の登録商標または商標と思いますが「®」「™」等の表記はしておりません。
・(本記事公開後)haseraさんにアドバイスをいただき、実装を高速化して、計測結果等を更新しました。ありがとうございます!
・(本記事公開後)本記事公開後に公開された記事へのリンクを追加しております。

カテゴリー:Webアプリケーション,円周率計算
[PR]