[log][集計][高速化]
普通にやろうが、threadつかおうが,fork使おうが time がのびない。
いや、わかってんだけどね、同じサバでやってる限り資源に限りがあるからどうしようがほとんど変わらないって。
アプローチ変えるかなあ。
もともとperlで書いてたんだけど、threadで思い出してrubyでもやってみた時に気づいたんだけど。
こんなふうに書いて、
require 'uri' file_path = 'testfile' words = {} open(file_path,'r') {|fh| fh.each { |line| if /hoge=(正規表現)/ =~ line word = URI.unescape($1) words[word] = words[word].to_i + 1 end } } ( words.sort{ |a,b| a[1] <=> b[1] } ).each {|keyword,sum| printf("%s,%d\n",keyword, sum ) }
欲しい単語を集計するときに
hoge[word]++
って書いたら、コンパイラに怒られた。
「++」とかないのね。
製作者の信念でないそうだと周りのひとに言われました。