● 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% -- |
● Apr 26, 2002 (Fri) 1:11 - ふに #~~~~ # それ以前にデータベースバックアップのために「必ず一日一回 # 以上どこかで止める」ことを前提に運用手順組んじゃうし # 設計もしちゃうので、実はあまりホットバックアップって # 考えてなかったりします。 いいなー... Web系だと,それはなかなか... それに,1日1回止めなくても運用できるのがOracleの 良いところなので,止めるのはなかなか納得してもらいにくいような. DB2もオンラインバックアップ出来るのなら,その方が良い 気もしますが,リストアが面倒なのかな.(^^; % Oracle で rman 使えば結構自動化されてるのでラクそうですけど. |
● Apr 26, 2002 (Fri) 1:33 - 株・・・ http://www.sanrio.co.jp/bus_info/kabu/kabu0801.html こんな可愛い株ならほしいかも... 100株,いくらくらいなんだろう(^^; AyaseHyo> 1110だから100株で11万円ってところかぁ ・・・むー.がんばれば買える?(^^; |
● Apr 26, 2002 (Fri) 22:33 - Perl栞 #任意雑談でそんな話題が出て,氷魚にゃに軽く作れない〜? ってきいたら翌朝出来てました. Perl栞 時間がないのでまだちゃんと使えるのかどうかすら確認 できてませんけど(^^; 興味あるひとはどうぞ. ---- 山科です. こんなの? Debug/ Release/ はデバッグシンボルがあるかどうか〜. おすきなほうで(笑) Perl_Shiori.dll に load/unload/requestを実装してあります. Perl_Shioro_test.exe を実行すると適当にメッセージ試せます(笑) load時にカレントディレクトリの shiori.pl を読み込みます. あとは対応してshiori.plの on_load/on_unload/on_request がよばれます. サンプルのスクリプトは Perl_Shiori/ ディレクトリにあります. Debug/ Release/ にコピーしてどうぞ. on_loadは1つの引数をとって, それがloadの引数です. 復帰値が真偽値としてloadの復帰値になります. on_unloadは引数ありません. 復帰値が真偽値としてunloadの復帰値になります. on_loadは1つの引数をとって, それがloadの引数です. 復帰値を文字列として, requestの復帰値, len出力になります. Perl_Shiori/ にVCのソースがあります. あまり考えずにスクリプトみながらテストプログラム実行するのが 吉って感じ(笑) でわ〜♪ ---- hio_d> うちはShioriがなんなのか全然理解してないとかつけくわえたほうがよいかも?(笑) ってことで,伺かと連携して動くかどうかすら(謎)な危険物です. よろしくどうぞ〜 |
|