hebohebo-mobileprogrammer-diary

 | 

2008-01-24

UTF8フラグ付けベンチマークストップウォッチ編 18:56

pack(unpack?)でやると早いよとid:tokuhiromさんに聞いたのですが

やり方がわからなくて挫折したので携帯についてるストップウォッチでさっきのをもう一回図って遊んでました><

(何やってんだか・・・)

結果はこんな感じでした。

Encode::decode: 26m37s
utf8::decode: 2m54s
Encode::_utf8_on: 2m50s

結論。

ストップウォッチは使えます。馬鹿にしないでくだしあ><

ConvertPictgramSJISのEncode::decode 17:19

http://d.hatena.ne.jp/tokuhirom/20060114/1137253723

たまたま上記のエントリを見つけてしまったので自分でもベンチしてみた。

(今回気になってるのはdecodeだけなのでそれだけ)


#!/usr/bin/perl
use strict;

use Encode;
use Benchmark;

my $str = 'あいうえおかきくけこさしすせそ';

Benchmark::cmpthese(1000000, {
    'Encode::_utf8_on' => sub { my $_str = $str; Encode::_utf8_on($_str); },
    'Encode::decode'   => sub { my $_str = $str; $_str = Encode::decode('utf8', $_str); },
    'utf8::decode'     => sub { my $_str = $str; utf8::decode($_str); },
});
                      Rate   Encode::decode     utf8::decode Encode::_utf8_on
Encode::decode     36563/s               --             -98%             -98%
utf8::decode     1492537/s            3982%               --              -4%
Encode::_utf8_on 1562500/s            4173%               5%               --

となったので、どうみて明らかに遅いEncode::decodeを使う理由はなさそうです。本当にありがとうございました。

->http://coderepos.org/share/changeset/5411で変更してみました。

FB_CROAKしたいとか 02:26

http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080123/1201107906

で楽になるのは分かるのですがー。

print encode('x-utf8-docomo', "\x{ECA2}", FB_CROAK);

が例外発生しちゃうのはなんとなく違うような気がしたのですが

かといって顔文字をucmに含めると現状との差異がありすぎるし

なんだかなぁというのも分かるわけで。

そろそろ自重します><

fallbackの件(>3<) 02:09

http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080123

# それ以外、(>3<)みたいなのはEncode::JP::Mobile::Charactor的なのを作ってfailback関数でやろうよ(ぼくも賛成

うーむ。個人的にはencodeするだけでキャリア互換の文字列が帰ってくるとうれしいかなぁとおもいました。


ちょっと話は違うけどx-sjis-softbank-rawだけPRIVATE AREAが抜かれてない素のcp932でencodeしてるんだなぁとおもた。

cp932 - PRIVATE AREA

なucmを単独で作る必要あるのかな。

LeatriceLeatrice2011/12/23 21:51I really appreciate free, suiccnct, reliable data like this.

geirfttfoegeirfttfoe2011/12/24 17:52It8Tjr <a href="http://cfvcuxnehcje.com/">cfvcuxnehcje</a>

oqetabfsgoioqetabfsgoi2011/12/25 19:389ARzza <a href="http://snmgrxggkutm.com/">snmgrxggkutm</a>

 |