JaPonの動作速度検証
Palm日本語化ソフトとして、人気の高いJaPon。Readmeに「だいたいのAPIがオリジナルのAPIより若干高速に動作しています お暇な方はベンチマークを取られてみると面白いかも…」とあるので、それを真に受けた暇な(笑)私が確かめていきます。あわせて他の日本語化ソフトとの比較もやっています。
WinDrawChars
画面に文字を書く命令。まずはこれから、いってみましょう。
検証用プログラムの概要
今回用意したプログラムは、こんな動作をします。
- WinDrawCharsを使って、画面左上に文字を書く。
- 10秒間、ひたすら文字を書き続ける。
- 10秒間で何回文字を書いたか、を表示する。
→数字が大きい方が高速
JaPonTest01.zip
※私が使っているヘッダファイルも入ってますけど、今回のプログラムには不要な記述も入ってます…。
※「こんなプログラムでは検証にならん!こうやって書くんだ!」というご意見・ご指摘、お待ちしてます。
検証方法
検証は、こんな感じに行います。
- 手持ちの日本語化ソフト(JaPon v1.0i、CJKOS v4.621、JpFontKit評価版)がオンの状態と、全てオフの状態、あわせて4種類の環境で検証。
- 検証機:Tungsten T3(OS5.2.1)
- なるべく公平な状態を作るため、4環境ともソフトリセット後に検証する。
- TapPop等の常駐するアプリが動いている気がするけど、とりあえずそのままで(笑)
- 10回実行した結果の平均値で判断する。
結果
1.日本語化オフ1回目 | 2回目 | 3回目 | 4回目 | 5回目 | |
---|---|---|---|---|---|
144334 | 144334 | 144346 | 144286 | 144286 | |
6回目 | 7回目 | 8回目 | 9回目 | 10回目 | 平均 |
144289 | 144404 | 144393 | 144335 | 144421 | 144342.8 |
2.CJKOSオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | |
---|---|---|---|---|---|
62188 | 62192 | 62168 | 62173 | 62180 | |
6回目 | 7回目 | 8回目 | 9回目 | 10回目 | 平均 |
62184 | 62168 | 62198 | 62194 | 62200 | 62184.5 |
3.JaPonオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | |
---|---|---|---|---|---|
180559 | 180558 | 180591 | 180576 | 180555 | |
6回目 | 7回目 | 8回目 | 9回目 | 10回目 | 平均 |
180577 | 180571 | 180739 | 180576 | 180575 | 180587.7 |
4.JpFontKitオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
183521 | 183632 | 183643 | 183457 | 182514 | 183353.4 |
感想
JpFontKit > JaPon >> 日本語化オフ >> CJKOSJpFontKitの辛勝、というところでしょうか。CJKOSは他の環境と比べて差が顕著でしたねぇ。いや、もちろんCJKOSにもいい所はたくさんあります(自分好みのフォントが使える、ShiftJISとEUCの自動判別、などなど)。それに、今回は無数にあるAPIの中で1つ検証しただけですから、「CJKOS、ダメじゃ~ん」と即断はできません。でも、オリジナルより25%高速で動くJaPonのすごさが際立つ結果となりましたねぇ。 また暇を見つけて、違うAPIでの検証をやってみたいと思います。
※環境ごとの結果にあまりばらつきがなかったので、10回もやらなくてよかったかなぁ。
TxtGetNextChar
いまいちよく分からないんですが、文字列から文字を拾ってくる命令みたいです。
検証用プログラムの概要
WinDrawCharsのときと同じように、10秒間命令を繰り返して何回実行できたかを表示します。もし必要な方は、↓からダウンロードできます。JaPonTest01-2.zip
※ソースも入ってます。わけあってOnBoardCではなくPODS用になっていますが。
※「こんなプログラムでは検証にならん!こうやって書くんだ!」というご意見・ご指摘、お待ちしてます。
検証方法
検証は、こんな感じに行います。- 手持ちの日本語化ソフト(JaPon v1.0i、CJKOS v4.621、JpFontKit評価版)がオンの状態と、全てオフの状態、あわせて4種類の環境で検証。
- 検証機:Tungsten T3(OS5.2.1)
- なるべく公平な状態を作るため、4環境ともソフトリセット後に検証する。
- TapPop等の常駐するアプリが動いている気がするけど、とりあえずそのままで(笑)
- 5回実行した結果の平均値で判断する。
結果
1.日本語化オフ1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
774608 | 774202 | 775413 | 774599 | 774132 | 774590.8 |
2.CJKOSオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
777773 | 777764 | 776843 | 777217 | 778076 | 777534.6 |
3.JaPonオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
780411 | 780363 | 780330 | 780326 | 780329 | 780351.8 |
4.JpFontKitオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
775505 | 775504 | 775502 | 775601 | 775895 | 775601.4 |
感想
JaPon > CJKOS > JpFontKit > 日本語化オフとなりましたが、あまり差はありませんでした。この命令に関しては、どの環境も体感できるほどの違いは出ないということでしょう。む、なんかあまり面白味のない結果になってしまったか…。
TxtCaselessCompare
文字列を比較する命令です。Addressの並び替えなんかで使ってるんですかね?
検証用プログラムの概要
TxtGetNextCharで使用したのと同じものです。
検証方法
検証方法もTxtGetNextCharのときと同様です。(ソフトリセット後に5回実行した平均値)
結果
1.日本語化オフ1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
1537647 | 1541745 | 1538164 | 1541721 | 1537357 | 1539326.8 |
2.CJKOSオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
625435 | 625514 | 625534 | 625753 | 625533 | 625553.8 |
3.JaPonオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
1271378 | 1273429 | 1270498 | 1271049 | 1271014 | 1271473.6 |
4.JpFontKitオン
1回目 | 2回目 | 3回目 | 4回目 | 5回目 | 平均 |
---|---|---|---|---|---|
1217210 | 1220072 | 1219294 | 1217791 | 1219062 | 1218685.8 |
感想
日本語化オフ >> JaPon > JpFontKit >> CJKOS日本語化オフ環境が最速という、ある意味もっとも無難な結果に。やっぱり色々な命令で試してみないと、どの環境が最速かは決められませんね。
ただ、「速い」=「良い」と必ずしも言い切れるわけではありません。人によっては容量を食わない環境が望ましいでしょうし、価格を最優先とする場合もあるでしょう。それに「動作が速い」ということは「電池の消耗が速い」ことにつながるかもしれません(憶測ですが)。何が「良い」かは人それぞれ。一連の検証が、皆さんにとっての「良い」日本語化ソフトを判断する一助になれば、幸いです。