CORE::qr が呼ばれないように正規表現パターンを定数化したら速くなった
Text::Xatena の nytprof 結果を眺めていたら CORE::qr がやたら呼ばれていたので、use constant で qr// をループの外に出したら速度が多少改善した。通常の正規表現マッチは勝手にいい感じに定数っぽくしてくれるけど、正規表現パターンはしてくれないのかな。
before -Rate Hatena Textile Markdown Xatena -Hatena 26.8/s -- -84% -86% -89% -Textile 171/s 537% -- -8% -27% -Markdown 186/s 594% 9% -- -20% -Xatena 233/s 770% 37% 25% --
after + Rate Hatena Textile Markdown Xatena +Hatena 26.5/s -- -85% -86% -93% +Textile 175/s 563% -- -8% -56% +Markdown 191/s 621% 9% -- -52% +Xatena 395/s 1393% 125% 107% --