grep と sift を比較した

sift というツールがあります。
https://sift-tool.org/

sift は better grepツールで、上記サイトのパフォーマンスによるとすべての場合において grep より速く、場合によっては 40 倍速以上のパフォーマンスを出すという、嘘だろ承太郎!?な状態なのでこの怪しい伝説を検証してみます。
https://sift-tool.org/info.html

続きを読む

再・Solr のパフォーマンスチューニング

三年ほど前、Solr のパフォーマンスチューニングの記事を書いた。

aoking.hatenablog.jp

これは古くなっており、現在の Solr では通用しない部分が多い。
改めて、現在の Solr のパフォーマンスチューニングに対する知見をここに記す。

続きを読む

遺伝的アルゴリズムで遅い正規表現を検出する

ある正規表現に様々な文字列を食わせてマッチするかどうか判定することは大変頻出するコードです。
稀に、食わせる文字列のパターンによっては正規表現のマッチに猛烈に時間を消費する場合があります。

僕も少し前に遭遇し、下記に公開しています。

developer.cybozu.co.jp

この時は、(\\w|_){1,64}@ という正規表現があって、____________________ のようにアンダースコアを複数含む文字列のマッチに大変時間がかかるという問題でした。
この、「対象文字列によってはマッチに時間がかかることがある問題」を、遺伝的アルゴリズムを用いて解決できないかチャレンジしてみましょう。

続きを読む

鴨川、伊勢海老、父の還暦祝い

父が定年を待たずに退職し、農業や釣りを楽しむ人生を送りはじめたのが今から三年前。近所の那珂川で鮎釣りをしたり様々な農作物を育てたり、養蜂をしたいと言い出してニホンミツバチを採取に四苦八苦したりと、それなりに楽しんだ人生を送っているようだ。

そんな父がもうすぐ60歳を迎えることになった。これを機に、家族旅行に行くことにした。

続きを読む