#!/usr/bin/env perl

use 5.010;
use strict;
use warnings;

use Benchmark::Dumb qw(cmpthese timethese);
#use Benchmark qw(timethese);
use Data::Sah::Normalize qw(normalize_schema);

timethese(0, {
    '[int,{},{}] (already normalized)' => sub { normalize_schema([int=>{},{}]) },
    'int'  => sub { normalize_schema('int') },
    'int*' => sub { normalize_schema('int*') },
    '[int]' => sub { normalize_schema(["int"]) },
    '[int,min=>1,max=>10]'   => sub { normalize_schema([int => min=>1, max=>10]) },
    '[int,{min=>1,max=>10}]' => sub { normalize_schema([int =>{min=>1,max=>10}]) },
    '[int,div_by&=>[2,3]]'   => sub { normalize_schema([int => 'div_by&'=>[2,3]]) },
});
