Commit | Line | Data |
caca5e19 |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use FindBin; |
7 | use lib "$FindBin::Bin/../t/lib"; |
8 | use lib "$FindBin::Bin/../lib"; |
9 | use DBICTest; |
21374921 |
10 | use DBIx::Class::ResultClass::HashRefInflator; # older dbic didn't load it |
11 | |
12 | printf "Benchmarking DBIC version %s\n", DBIx::Class->VERSION; |
caca5e19 |
13 | |
14 | my $schema = DBICTest->init_schema(); |
15 | my $rs = $schema->resultset ('Artist'); |
21374921 |
16 | $rs->populate ([ map { { name => "Art_$_"} } (1 .. 10000) ]); |
caca5e19 |
17 | |
18 | use Benchmark qw/cmpthese/; |
19 | |
21374921 |
20 | cmpthese(-5, { |
caca5e19 |
21 | 'Cursor' => sub { $rs->reset; my @r = $rs->cursor->all }, |
22 | 'HRI' => sub { $rs->reset; my @r = $rs->search ({}, { result_class => 'DBIx::Class::ResultClass::HashRefInflator' } )->all }, |
23 | 'RowObj' => sub { $rs->reset; my @r = $rs->all }, |
21374921 |
24 | 'DBI' => sub { my @r = $schema->storage->_get_dbh->selectall_arrayref ('SELECT * FROM ' . ${$rs->as_query}->[0] ) }, |
caca5e19 |
25 | }); |