さすがにPStoreより遅かったら、作った意味もなさそうなので。
PStore
require 'pstore' db = PStore.new("pstore.db") 1000.times do |i| db.transaction do db[i.to_s] = (i * i).to_s end end 1000.times do |i| db.transaction(true) do db.fetch(i.to_s) end end
~$ time ruby validate_pstore.rbreal 0m23.735s
user 0m0.015s
sys 0m0.031s
GDBMStore
require 'gdbmstore' db = GDBMStore.new("gdbmstore.db") 1000.times do |i| db[i.to_s] = (i * i).to_s end 1000.times do |i| db.fetch(i.to_s) end
~$ time ruby validate_gdbmstore.rbreal 1m16.235s
user 0m0.015s
sys 0m0.046s
…うーん、3倍以上かかってるなぁ…