エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
前書き たっくん(@takkkun)との会話 「MeCab の Ruby Binding、SWIG 使ってるから MeCab と密結合して... 前書き たっくん(@takkkun)との会話 「MeCab の Ruby Binding、SWIG 使ってるから MeCab と密結合してて、手元とサーバで MeCab のバージョンが違う時にインストールするの面倒臭いんだよね」 「Natto gem 使えば良いじゃん」 「Natto gem 遅いんだよ」 前提条件 MeCab のバージョンは 0.996 を使用 ベンチマークは parse メソッド(mecab_parse_tostr 関数)のみを対象とする 何故 Natto gem が遅いのか調べた Natto::MeCab#parse メソッド内で、初期化時に作成された無名関数を呼んでること、ブロックがあった場合の処理の切り分けをしてること、ヘルパー経由でエンコーディングしてることがボトルネックになっていることが分かった ここの条件分岐やヘルパーメソッドの呼び出しをなくしハードコードし