rbatis 4.5.21

The Rust SQL Toolkit and ORM Library. An async, pure Rust SQL crate featuring compile-time Dynamic SQL
Documentation
#![feature(test)]
extern crate test;

use rbs::{to_value, Value};
use test::Bencher;

#[bench]
fn bench_rbs_decode(b: &mut Bencher) {
    let v: Value = to_value!(1);
    b.iter(|| {
        rbs::from_value_ref::<i32>(&v).unwrap();
    });
}

#[bench]
fn bench_rbs_decode_value(b: &mut Bencher) {
    let v: Value = 1.into();
    b.iter(|| {
        rbs::from_value_ref::<Value>(&v).unwrap();
    });
}

#[bench]
fn bench_rbatis_decode(b: &mut Bencher) {
    let array = Value::Array(vec![to_value! {
        1 : 1,
    }]);
    b.iter(|| {
        rbatis::decode_ref::<i32>(&array).unwrap();
    });
}

#[bench]
fn bench_rbatis_decode_map(b: &mut Bencher) {
    let date = rbdc::types::datetime::DateTime::now();
    let array = Value::Array(vec![to_value! {
        1 : date,
    }]);
    b.iter(|| {
        rbatis::decode_ref::<rbdc::types::datetime::DateTime>(&array).unwrap();
    });
}


#[bench]
fn bench_rbs_decode_inner(b: &mut Bencher) {
    let m = Value::Array(vec![to_value! {
            "aa": 0
        }]);
    b.iter(|| {
        rbatis::decode_ref::<i64>(&m).unwrap();
    });
}