†このトピックは、内容を検証をする気のあるチャレンジャー(冒険者)向けです現在のconvert_html.phpで作られるオブジェクトツリーは、まず先に子要素側がどこにつながっても良いよう全ての要素を生成して、後から親要素側に必要な要素だけ取り出させる形になっています(不要で捨てられる要素も常に作られる)。処理としては余分な事をしていますから、子要素側が親要素を見てから必要な要素を生成するように改造してみます。加えて引用文の書式も少し見直してみたいと思います。姉妹品の../make_link()の改造実験より効果は薄いです。呼出し回数がずっと少ないですから。複数行プラグインの処理がfile.phpと被っていたので修正。それとリスト構造周りで文字列のコピーを減らしてみました。18:45:47Cueさん、それと0さんも、良くツボを付いた案をいただくのですが、できればそれがどう素晴らしいか(今までのどこがどう問題で、どうすべきで、その結果どうなるのか)の解説をお願いできませんか。後から足すのでも問題ないです。誰が見たって自明な形で、素早くポイントが示してあるのならば、そこを素早くざっくり盛り込んだり、それにツッコミを入れたりしたいのです。誰から見ても自明な不具合や無駄な部分であれば、例えば私以外にteananさんがナタを振るうでしょう。他の人がアレをどうにかしろ、と言うかもしれません。無関係そうな別の修正(でもそうした理由はわからない)が混ざっていたり、大きすぎるパッチは取り込む側からすると障害になってしまいます。気が付いた時で構いませんのでコンテンツを「育てる」事についてご一考をお願いします。23:04:16BugTrackに置かない理由ですが、PukiWikiの心臓部と言えるパーサの見直しですから一部分だけを取り出せるわけでもありませんし、かといってBugTrackに置いても仰るように大きすぎるパッチは取り扱いに困るだろうと考えたためです。私の環境では特に要素数で1,000を越えるような*2巨大なページで予想以上*3に速度が向上する変更なので眠らせるにも忍びなくここに置かせて頂きましたが、どんなに効果が高くても論理構造に欠陥が無いかを含めた検証(恐らくかなりの日数と手間を要すると思います)を経ないとコミットできないでしょう。チャレンジャーやもうちょっと軽く...といった人向けの改造ネタという意味で「ちょっと便利に」なのです。19:33:38ただ、#contentsプラグインが無いページでも文字列を連結する直前まで要素が作られている事を抑制する部分のみや、下に示した引用文に関する問題については単独のパッチも可能だと思いますので、必要とお考えでしたらそのようにして頂ければと思います。19:38:39それから『無関係そうな別の修正』についてですが、なにやら怪しげな変更が加えられているような語感ですが、どのような点なのかご明示願えませんか?バグでしたら早急に修正します。19:38:39このページの先頭に警告を追加しました。コンテンツについては、要は「おいしそうに見えるように」まとめていただきたいのです。今回の場合「パーサで子要素が無駄に生成されるのを抑えるようにした」という紹介よりも「私の環境では巨大なページで期待以上に表示速度が落ちるので、パーサのコードを見たところこのような無駄があるのを見つけた。これをこう修正したところ予想以上に速度が向上した。眠らせるにも忍びないのでここに載せる。パッチのサイズは大きいけれど、ポイントはこことここ。その前提としてここをこう修正している」などと最初(ページの先頭)にあっったら、同じ困り方をしている人の気を引き易い(進展し易い)かと思われるのです。01:00:03BugTrackか他にすべきかなのですが、(1)もし本当に妥当であれば間違いなく本体に取り込むでしょうし、妥当でないなら却下しますので、その点でBugTrackがよろしいかと思います。(2)この件は不確定な要素があるようで、それを「ちょっと便利に」に載せるのでは、ちょっと便利なネタを探した人も不安に思うでしょう。その点でもBugTrackがよいかと思います。表組みは「他のブロック要素を子要素にすることができません」となっていますが、パイプ区切りの表組みのセルにブロックプラグインが入れられます。表示されるかどうかはそのプラグインに依存するはずですが、そのままにしてあります。行末改行は次の行の行頭書式を無効にしていませんが、昔からのようですしこれもそのままにしてあります。引用文のレベルは他の引用文の子要素になるときだけ意味を持ちましたが、いきなりレベル2以上の引用文が現れてもそのまま反映されるようになっています。例>>>レベル3の引用が現れた場合、下と同じ表示になります(前の2行が省略されているようなもの)>>>>>>レベル3の引用これによってレベルの大きい引用文の後にレベルの小さい引用文が現れても新たな引用文の開始にはなりません。引用文の脱出(<、<<、<<<)を書いても対応するレベルの引用に入っていない場合はレベル0の引用文開始(>)として扱われていましたが、対応するレベルが無ければ脱出とみなさないようにしてあります。