電卓ベンチマーク (3) プログラム関数電卓編3
関数電卓ベンチマーク第3弾は、三角関数の計算速度を比較してみました。ループを利用できない機種向けのテスト(1)と、演算速度が速い機種向けのテスト(2)を用意しました。
テスト(1):まず最初に計測したのは、sin(1)を10回計算する時間です(角度単位はラジアン)。ループを使用せず、下記の式を直接プログラムし、実行時間を計測しました。
sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)= ?
テスト(2):テスト(1)ではHP-15Cなどは一瞬で答えが出てしまい計測困難なため、ループが利用できる機種向けにSin(1)+Sin(2)+Sin(3)+…Sin(100)を計算するプログラムを作ってみました。プログラムは以前に示した1~1000の和を求めるプログラムを改変したもので、下記の通りです。
fx-360MT:下記を入力後、RUNモードで[SHIFT][KAC]100[SHIFT][Min][RUN]
MR sin Kin+ 1
1 M-
x≦M
Kout 1
FX-603P:下記を入力後、RUNモードで[P0]
P0
RAD
0 Min01
100 Min00
LBL1
MR00 sin M+01
DSZ GOTO1
MR01
fx-3600Pv:下記を入力後、RUNモードで[P2][P1]
P2
KAC
100 Min
P1
MR sin Kin+ 1
MR - 1 = Min
x>0
Kout 1
EL-566E:下記を入力後、NORMALモードで[ALPHA][1:]
1:
1⇒A
0⇒M
↳ sin A M+
A + 1 ⇒A
100 ≧ A ■Y→[ ↰ ] M
EL-5020:下記を入力後、NORMALモードで[2ndF][1:]、A?に対して0, M?に対して1を入力
1:
A + sin M STO A
1 M+
100 x≧M
A
HP-15C LE:下記を入力後、RUNモードで[f][A]
LBL A
0 STO 1
100 STO 0
LBL 1
RCL 0 SIN ST+ 1
DSE 0 GTO 1
RCL 1
RTN
結果は以下のとおりでした。
グラフにしてみると…

当たり前ですが、とてもよく相関していますね。テスト(2)がテスト(1)の10倍より少し長くなっているのはやはりループ計算のためのオーバーヘッドがあるためでしょうか。次に、テスト(1)と整数演算(1~1000の和を求めるプログラム)の相関も見てみました。

こちらもほぼよく相関していますが。、EL-5020だけがかなり外れています。この機種は三角関数が比較的早い割に整数演算が遅い(あるいはループのオーバーヘッドが大きい)ということになるのでしょうか。
今回は三角関数のベンチマークを行い、整数演算との相関も検討してみました。機能の関係で必ずしもすべての機種ですべてのベンチマークができるとは限りませんが、この相関を参考にすると比較しやすくなるのではないかと思います。今後も少しずつサンプル数を増やしていきたいと思います。
テスト(1):まず最初に計測したのは、sin(1)を10回計算する時間です(角度単位はラジアン)。ループを使用せず、下記の式を直接プログラムし、実行時間を計測しました。
sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)+sin(1)= ?
テスト(2):テスト(1)ではHP-15Cなどは一瞬で答えが出てしまい計測困難なため、ループが利用できる機種向けにSin(1)+Sin(2)+Sin(3)+…Sin(100)を計算するプログラムを作ってみました。プログラムは以前に示した1~1000の和を求めるプログラムを改変したもので、下記の通りです。
fx-360MT:下記を入力後、RUNモードで[SHIFT][KAC]100[SHIFT][Min][RUN]
MR sin Kin+ 1
1 M-
x≦M
Kout 1
FX-603P:下記を入力後、RUNモードで[P0]
P0
RAD
0 Min01
100 Min00
LBL1
MR00 sin M+01
DSZ GOTO1
MR01
fx-3600Pv:下記を入力後、RUNモードで[P2][P1]
P2
KAC
100 Min
P1
MR sin Kin+ 1
MR - 1 = Min
x>0
Kout 1
EL-566E:下記を入力後、NORMALモードで[ALPHA][1:]
1:
1⇒A
0⇒M
↳ sin A M+
A + 1 ⇒A
100 ≧ A ■Y→[ ↰ ] M
EL-5020:下記を入力後、NORMALモードで[2ndF][1:]、A?に対して0, M?に対して1を入力
1:
A + sin M STO A
1 M+
100 x≧M
A
HP-15C LE:下記を入力後、RUNモードで[f][A]
LBL A
0 STO 1
100 STO 0
LBL 1
RCL 0 SIN ST+ 1
DSE 0 GTO 1
RCL 1
RTN
結果は以下のとおりでした。
機種 | テスト(1) | テスト(2) |
SHARP EL-512 | 7.8秒 | |
SHARP EL-566E | 1.1秒 | 12.3秒 |
SHARP EL-5020 | 1.6秒 | 22.0秒 |
SHARP EL-5002 | 9.5秒 | |
SHARP EL-5103 | 7.6秒 | |
CASIO fx-360MT | 2.4秒 | 26.7秒 |
CASIO FX-603P | 0.6秒 | 6.6秒 |
CASIO fx-3600Pv | 2.3秒 | 25.2秒 |
HP-15C LE | 0.1秒 | 1.3秒 |
グラフにしてみると…

当たり前ですが、とてもよく相関していますね。テスト(2)がテスト(1)の10倍より少し長くなっているのはやはりループ計算のためのオーバーヘッドがあるためでしょうか。次に、テスト(1)と整数演算(1~1000の和を求めるプログラム)の相関も見てみました。

こちらもほぼよく相関していますが。、EL-5020だけがかなり外れています。この機種は三角関数が比較的早い割に整数演算が遅い(あるいはループのオーバーヘッドが大きい)ということになるのでしょうか。
今回は三角関数のベンチマークを行い、整数演算との相関も検討してみました。機能の関係で必ずしもすべての機種ですべてのベンチマークができるとは限りませんが、この相関を参考にすると比較しやすくなるのではないかと思います。今後も少しずつサンプル数を増やしていきたいと思います。
- 関連記事
-
- CASIOの古い関数電卓、fx-140を手に入れましたが… (2013/06/01)
- 電卓ベンチマーク (3) プログラム関数電卓編3 (2013/05/28)
- SHARP EL-512 (2013/05/26)
スポンサーサイト