summaryrefslogtreecommitdiff
path: root/benchmarks/simple_class.pl
blob: f0061f1a3b59cde2b1fa5f360b1324087dda8a87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/perl

use strict;
use warnings;

use Benchmark::Forking qw[cmpthese];

=pod

This compares the burden of a basic Moose
class to a basic Class::MOP class.

It is worth noting that the basic Moose
class will also create a type constraint
as well as export many subs, so this comparison
is really not fair :)

=cut

cmpthese(5_000,
    {
        'w/out_moose' => sub {
            eval 'package Bar; use metaclass;';
        },
        'w_moose' => sub {
            eval 'package Baz; use Moose;';
        },
    }
);

1;