Text::MeCab - duplicate nodes

| コメント(0) | トラックバック(0)



mecab_node_tがすでに解放された後かどうか色々試行錯誤してみたけど、結局よくわからん。もう最後の手段でコピーを作成するのでどうだ、と。というわけで0.02_02ではText::MeCab::Node作成時にC structのコピー(もどき)を作ってみた。それでも速度は2倍くらいだから今の時点ではいい感じのトレードオフかな:



daisuke@beefcake Text-MeCab$ perl -Mblib tools/benchmark.pl
Rate mecab text_mecab
mecab 10.4/s -- -52%
text_mecab 21.7/s 109% --

というわけで、このコードは動きま・・・動くはずです!



use strict;
use Text::MeCab;

my $node;
{
my $mecab = Text::MeCab->new;
$node = $mecab->parse(....);
$mecab = undef;
}

for(; $node; $node = $node->next) {
print $node->surface, "\n";
}


Author

Daisuke Maki (a.k.a lestrrat): Perl hacker, Director of Japan Perl Association, YAPC::Asia Tokyo Organizer (2009-2012), Fluent in Japanese, English. Ex-Brazilian (sorta)

#perl #c #ruby #java #mysql #english #japanese #opensource #stf #cooking #scotch #cigar


このエントリーをはてなブックマ
ークに追加

翔泳社よりモダンPerl入門(2010)を出版させていただいております。できれば内容をアップデートしたいので是非皆様・・・現在の在庫処理にお力をお貸しください!><

月別アーカイブ