2004/11/23(火)xml -> csv
2004/11/23 5:00
REXMLを使用した場合、100件程度のデータの表示において私の腕では、
$ time ruby value.cgi > test.out
による計測で4.2sec~4.6secと4秒を切れない。「表示まで5秒」ルールを達成するのはどうやら無理。
奇っ怪な記法で多少の速度アップは出来ないことはないが、スクリプト言語の最大の利点は読みやすさにあるべきだと考える。そもなぜXMLを使おうとしたかというと、データの可読性と保守性が欲しかったから。まあ実際は、腕の問題か。
そんなわけで、csvで実装し直した。それなりに冗長に書いたのにもかかわらず同計測で、0.2sec。同じデータを使用していないので、公平なテストではないが100件程度で揃えてはある。ruby + xmlを使うのは時期尚早だったようだ……
さて、rubyの場合なにせHashクラスがあるためcsvの管理は相当楽。csvは1行目にkey、2行目以降を実際のデータとして、1行目と各行をzipで閉じてHashにつっこむ。csv自体の可読性・保守性もアップと実にありがたい話。疑似ツリーも簡単に作れるし、REXMLのAPIとにらめっこしたのはなんだったんだろうか。
ちなみに、計測に使用したCPUはC3 800A MHzナリ。単体で買えるCPUで現役最低消費電力。