phpでDBベースだと速度が出ない気がする。

1件2秒かかるんです。でも100万件をさばきたいんです。どう考えてもダメー。
根本から考え直さないとダm−。
なんかはやいほうほうないですか。
こういうアイデアとかになっていくのかしら。。。

#! ruby1.9
# -*- coding: utf-8 -*-
#私の家ではバイナリにはヴァージョンをつけたものにrenameします。
class MYMAP
    @result = nil #reduceに渡すべき処理結果を受け持つ

    def initialize()
        @result = Array.new
        return self
    end

    def mapper(value)
        value.split.each do |w|
						#map処理自体は外投げ
            @result << [yield(w) ,1]
        end
        return self
    end

    def out
        print "["
        @result.each do |ele|
            p ele
            print ','
        end
        print ']'
    end
end


ARGV.each do |source|
    File.open(source,"r"){ |io|
        MYMAP.new().mapper(io.read) do |w|
            w #mapな処理本体
        end.out
    }
end

__END__
usage : ruby1.9 __FILE__ source.txt
#! ruby1.9
# -*- coding: utf-8 -*-
class MYREDUCE
    @hash  = nil #mapからの入力を受け持つ。
    def initialize
        @hash = Hash.new
    end
    def myreduce(w,value)
         @hash[w] = value.to_i + @hash[w].to_i
    end
    #出力
    def emit
        @hash.sort_by{|a| a[1] }.reverse.each do |k,v|
            puts k + ":" +  v.to_s
        end
    end
end

red = MYREDUCE.new
eval(ARGV.join).each{|ele|
  red.myreduce(ele[0],ele[1])
}
red.emit

__END__
標準入力を受けてをとりまとめます。
usage:ruby1.9 __FILE__ `[[word,1],[word,1]]な二次元配列`

どうでもいいけどEmacs23にしたらめちゃくちゃに軽快。
設定済みMeadow/Carbon Emacsで感じていたカーソル移動の「もっさり」がなくなって
コンソールemacsの速度に追いついた気がする。
全画面パッチまだぁかなぁどっかのすごい人お願いします。
やっとemacsが万人におすすめできるエディタになった気がします。