Apr 26, 2002 (Fri) 0:37 - ゆにこーどー

Jcode5-ML に Encode vs Jcode.pm vs jcode.pl の
ベンチマーク記事が流れていて,Encode は速い!
というような内容だったので,Unicode::Japanese は
どの程度速いかテストしてみることに.

弾さんにメールして,ベンチスクリプトを入手.
breadperl で実行してね,といわれたけど意味がわからず(^^;

breadperl というのは,CVS から取ってきた
最新スナップショットらしぃ...

rsync -avz rsync://ftp.linux.activestate.com/perl-current .

でゲットしたら,カレントディレクトリにどば〜(爆)
あわてて止めて,ディレクトリの中で再実行.


そして,ようやく実行してみると,エラーで止まる‥‥‥
どうやら変換結果が違うらしい.
ちなみに,原因は,Unicode::Japanese は CP932 の
マッピングを使用しているのに対し,Encode/Jcodeは
Shift_JIS のマッピングを使用しているために
起きた物らしい...

で,肝心のベンチ結果は‥‥‥以下の通り.
たぶん崩れるので見にくい人はソースで見てください(爆)
ソースも改行とんでてダメでした(汗).

Unicode::Japanese で XS 化されてるのは
EUCJP <-> SJIS
JIS <-> SJIS
SJIS <-> UTF-8
しかないので,その他は多段階変換.

UTF-8 <-> UCS2 などは PurePerl コードでの変換に
なるので,劇的に遅い(^^;

それ以外はかなり好成績な感じ♪

==== 7bit-jis -> euc-jp ====
Rate Encode jcode.pl Jcode.pm Unicode::Japanese
Encode 43.2/s -- -9% -39% -77%
jcode.pl 47.4/s 10% -- -33% -75%
Jcode.pm 70.3/s 63% 48% -- -63%
Unicode::Japanese 188/s 335% 297% 168% --
==== 7bit-jis -> shiftjis ====
Rate Jcode.pm jcode.pl Encode Unicode::Japanese
Jcode.pm 9.97/s -- -3% -79% -97%
jcode.pl 10.2/s 3% -- -79% -97%
Encode 47.8/s 379% 366% -- -86%
Unicode::Japanese 337/s 3279% 3189% 605% --
==== 7bit-jis -> ucs2 ====
Rate Unicode::Japanese Jcode.pm Encode
Unicode::Japanese 17.5/s -- -38% -60%
Jcode.pm 28.1/s 61% -- -35%
Encode 43.2/s 147% 54% --
==== 7bit-jis -> utf8 ====
Rate Jcode.pm Encode Unicode::Japanese
Jcode.pm 19.6/s -- -64% -95%
Encode 54.7/s 179% -- -87%
Unicode::Japanese 427/s 2073% 680% --
==== euc-jp -> 7bit-jis ====
Rate jcode.pl Encode Jcode.pm Unicode::Japanese
jcode.pl 30.2/s -- -41% -65% -88%
Encode 51.2/s 70% -- -40% -79%
Jcode.pm 85.3/s 183% 67% -- -65%
Unicode::Japanese 246/s 715% 381% 188% --
==== euc-jp -> shiftjis ====
Rate Jcode.pm jcode.pl Encode Unicode::Japanese
Jcode.pm 11.6/s -- -20% -93% -97%
jcode.pl 14.5/s 24% -- -91% -96%
Encode 164/s 1310% 1033% -- -51%
Unicode::Japanese 337/s 2795% 2226% 105% --
==== euc-jp -> ucs2 ====
Rate Unicode::Japanese Jcode.pm Encode
Unicode::Japanese 19.0/s -- -61% -84%
Jcode.pm 48.1/s 153% -- -59%
Encode 119/s 524% 146% --
==== euc-jp -> utf8 ====
Rate Jcode.pm Encode Unicode::Japanese
Jcode.pm 27.1/s -- -91% -94%
Encode 291/s 973% -- -36%
Unicode::Japanese 457/s 1586% 57% --
==== shiftjis -> 7bit-jis ====
Rate jcode.pl Jcode.pm Encode Unicode::Japanese
jcode.pl 9.40/s -- -0% -82% -97%
Jcode.pm 9.44/s 0% -- -82% -97%
Encode 52.0/s 454% 451% -- -85%
Unicode::Japanese 356/s 3683% 3667% 583% --
==== shiftjis -> euc-jp ====
Rate Jcode.pm jcode.pl Encode Unicode::Japanese
Jcode.pm 10.8/s -- -25% -93% -95%
jcode.pl 14.5/s 34% -- -91% -93%
Encode 164/s 1415% 1033% -- -21%
Unicode::Japanese 206/s 1806% 1326% 26% --
==== shiftjis -> ucs2 ====
Rate Jcode.pm Unicode::Japanese Encode
Jcode.pm 8.80/s -- -55% -93%
Unicode::Japanese 19.5/s 122% -- -84%
Encode 123/s 1298% 531% --
==== shiftjis -> utf8 ====
Rate Jcode.pm Encode Unicode::Japanese
Jcode.pm 7.69/s -- -98% -99%
Encode 356/s 4522% -- -67%
Unicode::Japanese 1067/s 13767% 200% --
==== ucs2 -> 7bit-jis ====
Rate Unicode::Japanese Encode Jcode.pm
Unicode::Japanese 35.0/s -- -22% -25%
Encode 45.1/s 29% -- -3%
Jcode.pm 46.4/s 33% 3% --
==== ucs2 -> euc-jp ====
Rate Unicode::Japanese Jcode.pm Encode
Unicode::Japanese 36.0/s -- -64% -68%
Jcode.pm 100/s 178% -- -11%
Encode 112/s 212% 12% --
==== ucs2 -> shiftjis ====
Rate Jcode.pm Unicode::Japanese Encode
Jcode.pm 10.5/s -- -71% -92%
Unicode::Japanese 36.8/s 249% -- -71%
Encode 128/s 1114% 248% --
==== ucs2 -> utf8 ====
Rate Jcode.pm Unicode::Japanese Encode
Jcode.pm 21.3/s -- -44% -88%
Unicode::Japanese 38.3/s 80% -- -78%
Encode 178/s 733% 364% --
==== utf8 -> 7bit-jis ====
Rate Jcode.pm Encode Unicode::Japanese
Jcode.pm 44.8/s -- -15% -90%
Encode 52.5/s 17% -- -88%
Unicode::Japanese 427/s 853% 713% --
==== utf8 -> euc-jp ====
Rate Jcode.pm Encode Unicode::Japanese
Jcode.pm 95.5/s -- -45% -78%
Encode 173/s 81% -- -59%
Unicode::Japanese 427/s 347% 147% --
==== utf8 -> shiftjis ====
Rate Jcode.pm Encode Unicode::Japanese
Jcode.pm 10.5/s -- -94% -99%
Encode 183/s 1634% -- -74%
Unicode::Japanese 711/s 6644% 289% --
==== utf8 -> ucs2 ====
Rate Unicode::Japanese Jcode.pm Encode
Unicode::Japanese 19.1/s -- -40% -86%
Jcode.pm 31.8/s 67% -- -77%
Encode 136/s 613% 328% --



2024年10月
29
0
30
0
01
0
02
0
03
0
04
0
05
0
06
0
07
0
08
0
09
0
10
0
11
0
12
0
13
0
14
0
15
0
16
0
17
0
18
0
19
0
20
0
21
0
22
0
23
0
24
0
25
0
26
0
27
0
28
0
29
0
30
0
31
0
01
0
02
0

TmmDiary / Copyright 2001 Ymirlink,Inc. & Mikage Sawatari
このアドレスにはメールを送らないで下さい.
Don't send mail to this address.
hina@mikage.to