#db.logger = PgDevUtils::Logger.new $runs = 100 # 'use' performance ~ 13.42ms per run, 74.5 runs/second, 4471 runs/minute describe "'use' performance" do t0 = nil use "examples/seed.fox" describe "timing..." do t0 = nil before(:all) { t0 = Time.now } after(:all) { t1 = Time.now delta = ((t1 - t0) * 1000) per_run = delta / $runs per_second = 1000 / per_run per_minute = 60 * per_second puts "Executed in #{delta.round(2)}ms" puts " #{per_run.round(2)}ms per run" puts " #{per_second.round(1)} runs/second" puts " #{per_minute.round(0)} runs/minute" } for i in 1..$runs describe "USERS" do use "examples/users.fox" it "loads a number of users" do expect(db.count("select * from users")).to eq 2 end end end end end # 'statement with #db' performance ~ 0.72ms per run, 1394.8 runs/second, 83688 runs/minute describe "'statement with #db' performance" do t0 = nil use "examples/seed.fox" use "examples/users.fox" describe "timing..." do before(:all) { t0 = Time.now } after(:all) { t1 = Time.now delta = ((t1 - t0) * 1000) per_run = delta / $runs per_second = 1000 / per_run per_minute = 60 * per_second puts "Executed in #{delta.round(2)}ms" puts " #{per_run.round(2)}ms per run" puts " #{per_second.round(1)} runs/second" puts " #{per_minute.round(0)} runs/minute" } for i in 1..$runs describe "insert record" do statement "insert into users (name, age) values ('Cloe', 30)" it "sets created_at to now()" do expect(db.value("select created_at from users where name = 'Cloe'")).to eq postspec.timestamp end end end end end # 'statement with #data' performance ~ 4.35ms per run, 229.7 runs/second, 13783 runs/minute describe "'statement with #data' performance" do t0 = nil use "examples/seed.fox" use "examples/users.fox" describe "timing..." do before(:all) { t0 = Time.now } after(:all) { t1 = Time.now delta = ((t1 - t0) * 1000) per_run = delta / $runs per_second = 1000 / per_run per_minute = 60 * per_second puts "Executed in #{delta.round(2)}ms" puts " #{per_run.round(2)}ms per run" puts " #{per_second.round(1)} runs/second" puts " #{per_minute.round(0)} runs/minute" } for i in 1..$runs describe "insert record" do statement "insert into users (name, age) values ('Cloe', 30)" it "sets created_at to now()" do created_at = data["public"]["users"][2][:created_at].value expect(created_at).to eq postspec.timestamp end end end end end