ページ数が増えたとき、AutoLink が原因で正常に動作しなくなると言われている(関連: BugTrack2/81)。
しかし、AutoLink の何が原因なのかコメントを追っていってもよく分からなかった。
原因はさておき、効率の良い正規表現を生成するライブラリとして Regexp-Assemble が知られている。
PukiWiki でも henoheno さんが generate_trie_regex() という関数を作成している(1.5 には未マージ)。
しかし、何が原因なのか分からなければベンチマークも取れないし、改善したか(もしくは悪化したか)確認するのも難しい。
そこで AutoLink が動作しない条件を調べたい。
もとい「詳しい人がいたら教えてほしい」という Bug です。
"preg_match(): Compilation failed: regular expression is too large at offset 3339719"という WARNING を吐いてくれました。 -- bee 2016-11-26 (土) 10:54:37
pukiwikiベースのwikiだと日本語名のページは900ページ前後(略)でホワイトアウトして文字が見えなくなる表示上のバグがあると言われていたのが不思議だったのですが、日本語が 3 バイトでページ名が平均 12 文字程度とすると 900 ページで 32KB を使い切りますね。なるほど。 -- bee 2016-11-26 (土) 11:38:20