4月

4月です。エイプリルフールはこの日記でも何か壮大なウソをつこうと思ってたんですが、すっかり忘れてた。
XMLの解析でいまだハマってます。100MB近いデータなんですけどね。もっとか。その解析に1分近くかかる。今使ってるDOMを解析するAPIは遅いという話で、もっと軽めの SAX Parser なら多少早くなるかもということで、1日かかってロジックをSAXに書き直してみた。それでも30秒くらいかかる。まあ半分にはなったので、それなりの成果ではあるけど。
ちなみに、DOMパーサもMSXML4.0なら同じようにやって20秒くらい。なのでそのバージョンのSAXパーサならさらに短縮できるかと思いきや、3.0では動くものが4.0では動かない。なぜ。互換性あるんじゃないのか。こういうのがあるから自前の実装は時間がかかるのよ。
やっぱり、ループでいちいち探索するのはよろしくないか。ちょっと汎用性を考えた書き方にしちゃってるのだけど、今回の仕様にガチガチで書けばもうちょっと無駄は省ける。省けるけど、コードとしては美しくないのよね。でもまあ、VC++を使う意味ってそういうことくらいかもね。VCLや.NETは汎用的な分ちょっと無駄もあるコードになってるはずで、そういう部分を省いて仕様に合わせてカスタマイズできるというのが自作処理の希少なメリットともいえる。いえるものの、今回はその汎用性のある部品に速度負けしてるという。何てこと。
はい。素直に今回の仕様に合わせたコードにしますかね。
最近、何だかいろいろやる気が出ません。春なのにね。季節関係ないか。

タイトルとURLをコピーしました