#![feature(test)] extern crate test; extern crate postgres; use postgres::{Connection, TlsMode}; #[bench] fn bench_naiive_execute(b: &mut test::Bencher) { let conn = Connection::connect("postgres://postgres@localhost:5433", TlsMode::None).unwrap(); conn.execute("CREATE TEMPORARY TABLE foo (id INT)", &[]) .unwrap(); b.iter(|| { let stmt = conn.prepare("UPDATE foo SET id = 1").unwrap(); let out = stmt.execute(&[]).unwrap(); stmt.finish().unwrap(); out }); } #[bench] fn bench_execute(b: &mut test::Bencher) { let conn = Connection::connect("postgres://postgres@localhost:5433", TlsMode::None).unwrap(); conn.execute("CREATE TEMPORARY TABLE foo (id INT)", &[]) .unwrap(); b.iter(|| conn.execute("UPDATE foo SET id = 1", &[]).unwrap()); }