summaryrefslogtreecommitdiff
path: root/benchmarks/simple_constructor.pl
blob: def63eddb945c1500d346af9103a0bb6ef95c977 (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
#!/usr/bin/perl

use strict;
use warnings;

my $num_iterations = shift || 100;

{
    package Foo;
    use Moose;

    has 'default'         => (is => 'rw', default => 10);
    has 'default_sub'     => (is => 'rw', default => sub { [] });
    has 'lazy'            => (is => 'rw', default => 10, lazy => 1);
    has 'required'        => (is => 'rw', required => 1);
    has 'weak_ref'        => (is => 'rw', weak_ref => 1);
    has 'type_constraint' => (is => 'rw', isa => 'ArrayRef');
}

foreach (0 .. $num_iterations) {
    my $foo = Foo->new(
        required        => 'BAR',
        type_constraint => [],
        weak_ref        => {},
    );
}