2007-07-15

cmecab -- Mecab-Pyhton高速バインディング

前から作ろう作ろうと思っていたものを作った。

cmecab -- Mecab-Pyhton高速バインディング

標準のmecab-pythonバインディングでは一語ずつPython側に返すので、大量のテキスト(数十Gレベル)を処理する際に、なかなか処理時間がかかります。

これを一語ずつと言わず、パースしたものすべてをC言語側でまとめて一度でPython側に返すようにすることで高速化をはかります。(なんと乱暴な)

標準のmecab-pythonでいう、parseToNode(...)の(...)の部分の結果をまとめて一気に返すイメージです。
そんなことしてメモリは大丈夫なのかという不安がよぎりますが、ちょっと試しに使ってみることにします。

今作ったばかりのアルファ版ということで前もって言い訳を書いておきます。

* 実際の大量のテキストでのテストは連休明けに自分の勤め先で実際にこれを使って行います。(職場の人ごめん)
* メモリリークチェックにはまだかけてないよ。(どうすればPython拡張のリークチェックができるんだろうか。)
* Python C API初心者の自分が書きました。
* ちなみにC言語を使うのは12年ぶり。(C++は時々使ってましたが。)

参考ページ: Python拡張の作り方