[表紙へ]
▼ 変更履歴

電卓ベンチマーク01(三角関数を含んだ式の総和)

The expression of sum01

各電卓で上式の計算を行い、その計算にかかる時間を測定しました。
nの値は、10 2 , 10 3 , 10 4 , 10 5 の4つです。それぞれの値で測定を行いました。

総和の計算は、加算を繰り返しているだけなので、電卓の演算速度を比較的素直に表していると考えられます。

目次

  1. 数式の意味
  2. 測定方法
  3. CAS搭載電卓の測定について
  4. SwissMicros DM42 の総和計算
  5. HP 35s の総和計算
  6. 測定結果
  • 測定して気がついたこと
  • 数式の意味

    ▲先頭へ戻る

    測定方法

    ▲先頭へ戻る

    CAS搭載電卓の測定について

    CAS(数式処理システム) 搭載電卓は通常操作において、超越関数や数学定数(π,eなど)を数値化しません。そのため、特殊な操作をしたり、設定を変更する必要があります。

    ▲先頭へ戻る

    SwissMicros DM42 の総和計算

    SwissMicros DM42 は、「統計の総和」はあるのですが、「数式の総和」を計算する機能はないようです。
    そのため、数式の総和を求めるにはプログラムを組むしかありません。
    しかし、他の機種と公平な比較にはならないかもしれませんので、参考までにして下さい。

    2021年5月16日の3回目測定は、以下の「プログラム BM01B」を使いました。以前の「BM01A」よりも整理されたコードです。
    「プログラム BM01B」は、特に効率を追求したものではありません。
    [XEQ] [BM01B] と押して実行すると、"N?" と表示されますので、n の値を入れてから [R/S] キーを押すと計算が始まります。

    ▼ プログラム BM01B (押すとコードが表示されます)

    DM42 は電池動作時とUSB給電時で CPU のクロック周波数が変化します。
    電池動作時は 24MHz、USB給電時は 80MHz になります。それぞれのクロック周波数に対して測定を行なっています。

    ▲先頭へ戻る

    HP 35s の総和計算

    HP 35s は、「統計の総和」はあるのですが、「数式の総和」を計算する機能はないようです。
    そのため、数式の総和を求めるにはプログラムを組むしかありません。
    しかし、他の機種と公平な比較にはならないかもしれませんので、参考までにして下さい。

    今回は以下の「プログラム B」を使いました。
    [XEQ] [B] [ENTER]と押して実行すると、"N?" と表示されますので、n の値を入れてから [R/S] キーを押すと計算が始まります。

    ▼ プログラム B (押すとコードが表示されます)
    ▲先頭へ戻る

    測定結果

    参考値としてwxMaxima(PC用数式処理ソフト)の計算結果(16桁)を使っています。参考値がどの桁まで正確なのかよく分かりませんが、ここで扱う電卓よりも高精度なのは間違いないと思われます。

    参考値と異なる計算結果の一部は 赤字 にします。四捨五入を考慮して 赤字 にします。
    例えば、参考値が1.235のとき、計算結果が1.23ならば、1.2 3 として、3を誤りとします。この場合、四捨五入を考慮して1.24が正解とします。


    n = 10 2

    参考値(wxMaximaによる): 4941.829140522997

    機種名 種別 ファームウェア
    バージョン
    計算結果(桁数) 計算時間 備考
    HP Prime (Home表示) グラフ電卓(CAS有) 2.0.0.13865 4941.8291405 4 (12桁) 1秒未満 Home表示=CASなしモード
    HP Prime (CAS表示) グラフ電卓(CAS有) 2.0.0.13865 4941.82914052(12桁) 1秒未満 Exact:OFF,Complex:OFF
    SwissMicros DM42 (USB給電) 関数電卓 DM42 v3.19 4941.82914052(12桁) 1秒未満 プログラムによる参考測定。表示モード : ALL
    TI-Nspire CX CAS グラフ電卓(CAS有) 4.3.0.702 4941.82914052(12桁) 1秒未満 Calculation Mode:Auto, 最大12桁表示に設定
    SwissMicros DM42 (電池動作) 関数電卓 DM42 v3.19 4941.82914052(12桁) 1秒未満 プログラムによる参考測定。表示モード : ALL
    CASIO fx-CG50 グラフ電卓(CAS無) 03.10.0212 4941.829141(10桁) 1秒未満
    CASIO fx-CG10 グラフ電卓(CAS無) 02.02.3211 4941.829141(10桁) 1秒 fx-CG20同等品
    CASIO fx-9750GII グラフ電卓(CAS無) 02.04.0701 4941.829141(10桁) 1秒
    CASIO fx-9860GII グラフ電卓(CAS無) 02.09.0201 4941.829141(10桁) 2秒
    TI-84 Plus CE グラフ電卓(CAS無) 5.2.2.0043 4941.829141(10桁) 3秒
    HP 50g グラフ電卓(CAS有) 2.15 4941.8291405 4 (12桁) 3秒 Approx:ON,Complex:OFF
    TI-89 Titanium グラフ電卓(CAS有) 3.10 4941.82914052(12桁) 5秒 Exact/Approx:AUTO,最大12桁表示に設定
    CASIO fx-JP900 関数電卓 CY-243 VerA 4941.829141(10桁) 7秒
    TI-36X Pro 関数電卓 不明 4941.829141(10桁) 9秒
    CASIO fx-5800P 関数電卓 INROM-A27,0002 4941.829141(10桁) 14秒
    SHARP EL-5160J-X 関数電卓 不明 4941.829141(10桁) 22秒
    SHARP EL-509T-AX 関数電卓 不明 4941.829141(10桁) 24秒
    Canon F-789SG 関数電卓 不明 4941.829141(10桁) 33秒
    CASIO fx-915ES 関数電卓 LY718X VerB 4941.829141(10桁) 34秒
    CASIO fx-375ES 関数電卓 LY717X VerA 4941.829141(10桁) 34秒
    HP 35s 関数電卓 不明 4941.8291405 4 (12桁) 40秒 プログラムによる参考測定。表示モード : ALL
    ▲先頭へ戻る

    n = 10 3

    参考値(wxMaximaによる): 501437.135119937

    機種名 種別 ファームウェア
    バージョン
    計算結果(桁数) 計算時間 備考
    HP Prime (Home表示) グラフ電卓(CAS有) 2.0.0.13865 501437.13512 3 (12桁) 1秒未満 Home表示=CASなしモード
    HP Prime (CAS表示) グラフ電卓(CAS有) 2.0.0.13865 501437.13512(11桁) 1秒未満 Exact:OFF,Complex:OFF
    SwissMicros DM42 (USB給電) 関数電卓 DM42 v3.19 501437.13512(11桁) 1秒 プログラムによる参考測定。表示モード : ALL
    TI-Nspire CX CAS グラフ電卓(CAS有) 4.3.0.702 501437.13512(11桁) 1秒 Calculation Mode:Auto, 最大12桁表示に設定
    SwissMicros DM42 (電池動作) 関数電卓 DM42 v3.19 501437.13512(11桁) 3秒 プログラムによる参考測定。表示モード : ALL
    CASIO fx-CG50 グラフ電卓(CAS無) 03.10.0212 501437.1351(10桁) 6秒
    CASIO fx-CG10 グラフ電卓(CAS無) 02.02.3211 501437.1351(10桁) 10秒 fx-CG20同等品
    CASIO fx-9750GII グラフ電卓(CAS無) 02.04.0701 501437.1351(10桁) 12秒
    CASIO fx-9860GII グラフ電卓(CAS無) 02.09.0201 501437.1351(10桁) 13秒
    TI-84 Plus CE グラフ電卓(CAS無) 5.2.2.0043 501437.1351(10桁) 25秒
    HP 50g グラフ電卓(CAS有) 2.15 501437.13512 3 (12桁) 31秒 Approx:ON,Complex:OFF
    TI-89 Titanium グラフ電卓(CAS有) 3.10 501437.13512(11桁) 45秒 Exact/Approx:AUTO,最大12桁表示に設定
    CASIO fx-JP900 関数電卓 CY-243 VerA 501437.1351(10桁) 1分9秒
    TI-36X Pro 関数電卓 不明 501437.1351(10桁) 1分31秒
    CASIO fx-5800P 関数電卓 INROM-A27,0002 501437.1351(10桁) 2分13秒
    SHARP EL-5160J-X 関数電卓 不明 501437.1351(10桁) 3分44秒
    SHARP EL-509T-AX 関数電卓 不明 501437.1351(10桁) 3分59秒
    Canon F-789SG 関数電卓 不明 501437.1351(10桁) 5分24秒
    CASIO fx-915ES 関数電卓 LY718X VerB 501437.1351(10桁) 5分38秒
    CASIO fx-375ES 関数電卓 LY717X VerA 501437.1351(10桁) 5分39秒
    HP 35s 関数電卓 不明 501437.13512 3 (12桁) 6分32秒 プログラムによる参考測定。表示モード : ALL
    ▲先頭へ戻る

    n = 10 4

    参考値(wxMaximaによる): 50004626.12212456

    機種名 種別 ファームウェア
    バージョン
    計算結果(桁数) 計算時間 備考
    HP Prime (Home表示) グラフ電卓(CAS有) 2.0.0.13865 50004626.12 34 (12桁) 2秒 Home表示=CASなしモード
    HP Prime (CAS表示) グラフ電卓(CAS有) 2.0.0.13865 50004626.12 17 (12桁) 4秒 Exact:OFF,Complex:OFF
    SwissMicros DM42 (USB給電) 関数電卓 DM42 v3.19 50004626.1221(12桁) 11秒 プログラムによる参考測定。表示モード : ALL
    TI-Nspire CX CAS グラフ電卓(CAS有) 4.3.0.702 50004626.1221(12桁) 11秒 Calculation Mode:Auto, 最大12桁表示に設定
    SwissMicros DM42 (電池動作) 関数電卓 DM42 v3.19 50004626.1221(12桁) 28秒 プログラムによる参考測定。表示モード : ALL
    CASIO fx-CG50 グラフ電卓(CAS無) 03.10.0212 50004626.12(10桁) 55秒
    CASIO fx-CG10 グラフ電卓(CAS無) 02.02.3211 50004626.12(10桁) 1分41秒 fx-CG20同等品
    CASIO fx-9750GII グラフ電卓(CAS無) 02.04.0701 50004626.12(10桁) 2分0秒
    CASIO fx-9860GII グラフ電卓(CAS無) 02.09.0201 50004626.12(10桁) 2分11秒
    TI-84 Plus CE グラフ電卓(CAS無) 5.2.2.0043 50004626.12(10桁) 4分7秒
    HP 50g グラフ電卓(CAS有) 2.15 50004626.12 34 (12桁) 5分14秒 Approx:ON,Complex:OFF
    TI-89 Titanium グラフ電卓(CAS有) 3.10 50004626.1221(12桁) 8分10秒 Exact/Approx:AUTO,最大12桁表示に設定
    CASIO fx-JP900 関数電卓 CY-243 VerA 50004626.12(10桁) 11分31秒
    TI-36X Pro 関数電卓 不明 50004626.1 1 (10桁) 15分22秒
    CASIO fx-5800P 関数電卓 INROM-A27,0002 50004626.12(10桁) 22分6秒
    SHARP EL-5160J-X 関数電卓 不明 50004626.1 4 (10桁) 37分47秒
    SHARP EL-509T-AX 関数電卓 不明 50004626.1 4 (10桁) 40分12秒
    Canon F-789SG 関数電卓 不明 50004626.12(10桁) 53分51秒
    CASIO fx-915ES 関数電卓 LY718X VerB 50004626.12(10桁) 56分14秒
    CASIO fx-375ES 関数電卓 LY717X VerA 50004626.12(10桁) 56分28秒
    HP 35s 関数電卓 不明 50004626.12 34 (12桁) 1時間5分38秒 プログラムによる参考測定。表示モード : ALL
    ▲先頭へ戻る

    n = 10 5

    参考値(wxMaximaによる): 5000096555.034763

    機種名 種別 ファームウェア
    バージョン
    計算結果(桁数) 計算時間 備考
    HP Prime (CAS表示) グラフ電卓(CAS有) 2.0.0.13865 5000096555.0 4 (12桁) 3秒 Exact:OFF,Complex:OFF
    Exact:OFFなのに[Shift]+[Enter]操作が必要
    HP Prime (Home表示) グラフ電卓(CAS有) 2.0.0.13865 5000096555. 47 (12桁) 17秒 Home表示=CASなしモード
    SwissMicros DM42 (USB給電) 関数電卓 DM42 v3.19 5000096555.03(12桁) 1分45秒 プログラムによる参考測定。表示モード : ALL
    TI-Nspire CX CAS グラフ電卓(CAS有) 4.3.0.702 5000096555.0 5 (12桁) 1分45秒 Calculation Mode:Auto, 最大12桁表示に設定
    SwissMicros DM42 (電池動作) 関数電卓 DM42 v3.19 5000096555.03(12桁) 4分42秒 プログラムによる参考測定。表示モード : ALL
    CASIO fx-CG50 グラフ電卓(CAS無) 03.10.0212 5000096555(10桁) 9分4秒
    CASIO fx-CG10 グラフ電卓(CAS無) 02.02.3211 5000096555(10桁) 16分46秒 fx-CG20同等品
    CASIO fx-9750GII グラフ電卓(CAS無) 02.04.0701 5000096555(10桁) 20分4秒
    CASIO fx-9860GII グラフ電卓(CAS無) 02.09.0201 5000096555(10桁) 21分51秒
    TI-84 Plus CE グラフ電卓(CAS無) 5.2.2.0043 5000096555(10桁) 41分33秒
    HP 50g グラフ電卓(CAS有) 2.15 5000096555. 45 (12桁) 52分38秒 Approx:ON,Complex:OFF
    TI-89 Titanium グラフ電卓(CAS有) 3.10 5000096555.0 6 (12桁) 1時間28分29秒 Exact/Approx:AUTO,最大12桁表示に設定
    CASIO fx-JP900 関数電卓 CY-243 VerA 5000096555(10桁) 1時間55分12秒 太陽電池を光から遮断して測定。理由後述。
    TI-36X Pro 関数電卓 不明 50000965 40 (10桁) 2時間37分27秒 メモリ全消去後測定
    CASIO fx-5800P 関数電卓 INROM-A27,0002 1時間を大幅に超えるので測定せず
    SHARP EL-5160J-X 関数電卓 不明 1時間を大幅に超えるので測定せず
    SHARP EL-509T-AX 関数電卓 不明 1時間を大幅に超えるので測定せず
    Canon F-789SG 関数電卓 不明 1時間を大幅に超えるので測定せず
    CASIO fx-915ES 関数電卓 LY718X VerB 1時間を大幅に超えるので測定せず
    CASIO fx-375ES 関数電卓 LY717X VerA 1時間を大幅に超えるので測定せず
    HP 35s 関数電卓 不明 1時間を大幅に超えるので測定せず
    ▲先頭へ戻る

    測定して気がついたこと

    HP Prime の CAS表示が不安定

    2018年7月20日に HP Prime のファームウェアバージョン 2.0.0.13865 (2018 07 06) がリリースされました。
    このバージョンからやっと CAS表示で n = 10 5 の結果を出せるようになりました(Exact:OFFのときのみ)。
    それ以前のバージョンでは、CAS表示で n = 10 5 の計算をすると電卓が再起動して結果が出せませんでした。

    何故か CAS表示で n = 10 5 の計算をすると、HOME表示よりも高速に計算できました。
    n の数値が大きいので、CAS(数式処理システム)が計算を高速化するための何らかの工夫をしたのかもしれません。

    2020年1月にリリースされたファームウェア 2.1.14425 (2020 01 16) は、CAS表示かつ n = 10^5 のときの挙動がおかしくなっています。従来、3秒程度で完了した計算が、4分54秒もかかるようになりました。おそらくはバグと思われますので、2020年以内に修正されるかもしれません。
    それにしてもCAS表示かつ n = 10^5 のときの不安定な動作はなかなか改善しません。

    しかし、CAS表示の Exact 設定(日本語表示の「正確」)に関するバグは未だに直っていません。
    Exact 設定は以下のような機能です。

    Exact:ON CAS表示で数学定数や超越関数を数値にしないようにします(CAS表示のデフォルト)。
    ただし、[Shift] + [Enter] 操作をすると結果を数値で出せます。
    Exact:OFF CAS表示でも結果を数値で求めます。[Enter] を押すだけで数値で結果が出ます。

    以前、測定に使ったファームウェア "2016 08 29 (10637)" は n = 10 5 の計算が不可能でした。

    2016 08 29 (10637)
    CAS表示 Exact:ON CAS表示 Exact:OFF
    n = 10 2 計算可 計算可
    n = 10 3 再起動 計算可
    n = 10 4 再起動 計算可
    n = 10 5 再起動 再起動

    下の表は、今回の測定に使った "2.0.0.13865 (2018 07 06)" です。2018年7月20日にリリースされました。
    前述のように n = 10 5 の計算が一応できます。

    2.0.0.13865 (2018 07 06)
    CAS表示 Exact:ON CAS表示 Exact:OFF 備考
    n = 10 2 計算可 計算可
    n = 10 3 再起動 計算可
    n = 10 4 再起動 計算可
    n = 10 5 再起動 計算可(注) (注)Exact:OFF なのに [Shift]+[Enter] 操作が必要

    もっと新しいファームウェアも見ましょう。

    2018年11月1日にリリースされた "2.1.14181 (2018 10 16)" です。
    少し改善しましたが、Exact:ON のときに再起動するバグが未だに直っていません。

    2.1.14181 (2018 10 16)
    CAS表示 Exact:ON CAS表示 Exact:OFF 備考
    n = 10 2 計算可 計算可
    n = 10 3 再起動 計算可
    n = 10 4 再起動 計算可
    n = 10 5 計算可 計算可(注) (注)Exact:OFF なのに [Shift]+[Enter] 操作が必要

    同じファームウェアの Windows や Mac のエミュレーターだと Exact 設定に関するバグは少なくなっています。

    2.1.14181 (2018 10 16)
    Windows / Mac エミュレーター
    CAS表示 Exact:ON CAS表示 Exact:OFF 備考
    n = 10 2 計算可 計算可
    n = 10 3 計算可 計算可
    n = 10 4 計算可 計算可
    n = 10 5 計算可 計算可(注) (注)Exact:OFF なのに [Shift]+[Enter] 操作が必要

    何故、エミュレーターの方が安定して動作するのかは不明ですが、エミュレーターの方がメモリが多いので、メモリー不足が発生しにくいという可能性はあります。
    エミュレーターのリンク先は HP Prime の記事 の「概要」に記載されています。

    ▲先頭へ戻る

    下位機種の CASIO fx-9750GII が上位機種の CASIO fx-9860GII よりも高速

    n=10 5 のとき、下位機種の fx-9750GII の方が約9%程度高速です。 これは両機種のCPU性能がおそらく同一であり、fx-9860GII の方がファームウェアの構造が複雑なためと思われます(CPUはSH-4Aではないかと言われている)。 fx-9750GII はライン表示入力という古い入力方式を採用しており、ファームウェア構造は fx-9860GII より簡単です。 一方で fx-9860GII は教科書表示入力が可能である上にさらに機能も多くなっており、ファームウェアの構造は明らかに複雑でしょう。

    ▲先頭へ戻る

    CASIO fx-375ES と CASIO fx-915ES のわずかな計算時間の差について

    n=10 4 のとき、fx-375ES と fx-915ES の間に0.4%ほどのわずかな計算時間の差があります。 fx-375ES と fx-915ES は同じハードウェアと思われます(ROM容量の差はあるかもしれない)。 これらの電卓はファームウェアの違いで機能差を出しています。

    通常の関数電卓のCPUクロックはCR発振を使っているものが多いので、この程度の誤差はあっても当然と思われます。

    ▲先頭へ戻る

    電池電圧と太陽電池電圧の差によって計算速度に差が出る?

    n = 10 5 のときの CASIO fx-JP900 の計算時間を測定していると、計算時間にばらつきがあることに気が付きました。 私は7回測定したのですが、1時間55分12秒〜1時間55分53秒と最大41秒の差がありました。 と言っても 0.6% 程度の差なのであまり気にする必要もないのかもしれませんが、どうやら太陽電池に光を照射しているかどうかで速度が変わるようです。

    太陽電池を光から遮断すると1時間55分12秒になりました。
    太陽電池にデスクライトの光を照射すると1時間55分53秒になりました。

    この時間差は電池電圧と太陽電池電圧の差によって生じているような気がします。 ちなみに私が測定したときの fx-JP900 の電池電圧(LR44)は 1.477V(無負荷時)でした(店頭購入時の電圧は不明)。 fx-JP900 の太陽電池の電圧は不明ですが、測定時は LR44 よりも低かったのでしょう(強い光を照射すれば、太陽電池の電圧が LR44 の電圧を超える可能性もある)。

    かと言って測定前に全機種の電池電圧と太陽電池パネルに照射する光の強さを揃えるのも難しく、本測定はあくまでも参考と言うことになります。しかし、大きな誤差は出ないと思います。

    ▲先頭へ戻る

    [表紙へ]