← Index
NYTProf Performance Profile   « block view • line view • sub view »
For bin/pan_genome_post_analysis
  Run on Fri Mar 27 11:43:32 2015
Reported on Fri Mar 27 11:45:24 2015

Filename/Users/ap13/perl5/lib/perl5/darwin-2level/Moose.pm
StatementsExecuted 1868 statements in 11.5ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
1115.92ms141msMoose::::BEGIN@15 Moose::BEGIN@15
1115.80ms6.29msMoose::::BEGIN@10 Moose::BEGIN@10
1114.96ms20.8msMoose::::BEGIN@24 Moose::BEGIN@24
344173174.35ms705msMoose::::has Moose::has
1113.10ms18.8msMoose::::BEGIN@32 Moose::BEGIN@32
1112.75ms11.5msMoose::::BEGIN@25 Moose::BEGIN@25
1112.65ms2.69msBio::Roary::CommandLine::RoaryPostAnalysis::::BEGIN@2Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@2
1112.34ms2.57msMoose::::BEGIN@11 Moose::BEGIN@11
1112.06ms2.71msMoose::::BEGIN@9 Moose::BEGIN@9
1111.85ms48.7msMoose::::BEGIN@12 Moose::BEGIN@12
1111.74ms3.05msMoose::::BEGIN@35 Moose::BEGIN@35
1111.29ms4.31msMoose::::BEGIN@33 Moose::BEGIN@33
17111.01ms51.9msMoose::::init_meta Moose::init_meta
1111.00ms2.55msMoose::::BEGIN@36 Moose::BEGIN@36
111925µs4.46msMoose::::BEGIN@30 Moose::BEGIN@30
111905µs2.67msMoose::::BEGIN@34 Moose::BEGIN@34
111820µs1.55msMoose::::BEGIN@37 Moose::BEGIN@37
111775µs104msMoose::::BEGIN@26 Moose::BEGIN@26
111441µs1.58msMoose::::BEGIN@38 Moose::BEGIN@38
111404µs404µsMoose::::bootstrap Moose::bootstrap (xsub)
111404µs2.01msMoose::::BEGIN@43 Moose::BEGIN@43
111403µs460µsBio::Roary::CommandLine::RoaryPostAnalysis::::BEGIN@1Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@1
111296µs3.82msMoose::::BEGIN@14 Moose::BEGIN@14
111295µs1.86msMoose::::BEGIN@28 Moose::BEGIN@28
85557µs124msMoose::::with Moose::with
11139µs39µsMoose::::BEGIN@7 Moose::BEGIN@7
22220µs15.4msMoose::::extends Moose::extends
22216µs1.06msMoose::::before Moose::before
11110µs10µsMoose::::BEGIN@17 Moose::BEGIN@17
11110µs1.46msMoose::::BEGIN@40 Moose::BEGIN@40
1119µs130µsMoose::::BEGIN@41 Moose::BEGIN@41
1118µs8µsMoose::::BEGIN@27 Moose::BEGIN@27
1116µs6µsMoose::::BEGIN@19 Moose::BEGIN@19
0000s0sMoose::::_get_caller Moose::_get_caller
0000s0sMoose::::after Moose::after
0000s0sMoose::::around Moose::around
0000s0sMoose::::augment Moose::augment
0000s0sMoose::::inner Moose::inner
0000s0sMoose::::override Moose::override
0000s0sMoose::::super Moose::super
0000s0sMoose::::throw_error Moose::throw_error
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
12408µs2483µs
# spent 460µs (403+58) within Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@1 which was called: # once (403µs+58µs) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 1
use strict;
# spent 460µs making 1 call to Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@1 # spent 23µs making 1 call to strict::import
222.41ms22.70ms
# spent 2.69ms (2.65+45µs) within Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@2 which was called: # once (2.65ms+45µs) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 2
use warnings;
# spent 2.69ms making 1 call to Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@2 # spent 12µs making 1 call to warnings::import
3package Moose;
411µsour $VERSION = '2.1403';
51200nsour $AUTHORITY = 'cpan:STEVAN';
6
7292µs139µs
# spent 39µs within Moose::BEGIN@7 which was called: # once (39µs+0s) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 7
use 5.008003;
# spent 39µs making 1 call to Moose::BEGIN@7
8
92190µs12.71ms
# spent 2.71ms (2.06+650µs) within Moose::BEGIN@9 which was called: # once (2.06ms+650µs) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 9
use Scalar::Util ();
# spent 2.71ms making 1 call to Moose::BEGIN@9
102176µs26.42ms
# spent 6.29ms (5.80+496µs) within Moose::BEGIN@10 which was called: # once (5.80ms+496µs) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 10
use Carp 'carp';
# spent 6.29ms making 1 call to Moose::BEGIN@10 # spent 124µs making 1 call to Exporter::import
112289µs22.60ms
# spent 2.57ms (2.34+229µs) within Moose::BEGIN@11 which was called: # once (2.34ms+229µs) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 11
use Module::Runtime 'module_notional_filename';
# spent 2.57ms making 1 call to Moose::BEGIN@11 # spent 32µs making 1 call to Module::Runtime::import
122215µs248.7ms
# spent 48.7ms (1.85+46.8) within Moose::BEGIN@12 which was called: # once (1.85ms+46.8ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 12
use Class::Load 'is_class_loaded';
# spent 48.7ms making 1 call to Moose::BEGIN@12 # spent 59µs making 1 call to Exporter::import
13
142171µs23.83ms
# spent 3.82ms (296µs+3.52) within Moose::BEGIN@14 which was called: # once (296µs+3.52ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 14
use Moose::Deprecated;
# spent 3.82ms making 1 call to Moose::BEGIN@14 # spent 9µs making 1 call to Package::DeprecationManager::__ANON__[Package/DeprecationManager.pm:61]
152176µs2141ms
# spent 141ms (5.92+135) within Moose::BEGIN@15 which was called: # once (5.92ms+135ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 15
use Moose::Exporter;
# spent 141ms making 1 call to Moose::BEGIN@15 # spent 56µs making 1 call to Moose::Exporter::import
16
17275µs110µs
# spent 10µs within Moose::BEGIN@17 which was called: # once (10µs+0s) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 17
use Class::MOP;
# spent 10µs making 1 call to Moose::BEGIN@17
18
19
# spent 6µs within Moose::BEGIN@19 which was called: # once (6µs+0s) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 22
BEGIN {
2016µs die "Class::MOP version $Moose::VERSION required--this is version $Class::MOP::VERSION"
21 if $Moose::VERSION && $Class::MOP::VERSION ne $Moose::VERSION;
22132µs16µs}
# spent 6µs making 1 call to Moose::BEGIN@19
23
242251µs120.8ms
# spent 20.8ms (4.96+15.9) within Moose::BEGIN@24 which was called: # once (4.96ms+15.9ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 24
use Moose::Meta::Class;
# spent 20.8ms making 1 call to Moose::BEGIN@24
252229µs111.5ms
# spent 11.5ms (2.75+8.79) within Moose::BEGIN@25 which was called: # once (2.75ms+8.79ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 25
use Moose::Meta::TypeConstraint;
# spent 11.5ms making 1 call to Moose::BEGIN@25
262178µs1104ms
# spent 104ms (775µs+103) within Moose::BEGIN@26 which was called: # once (775µs+103ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 26
use Moose::Meta::TypeCoercion;
# spent 104ms making 1 call to Moose::BEGIN@26
27223µs18µs
# spent 8µs within Moose::BEGIN@27 which was called: # once (8µs+0s) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 27
use Moose::Meta::Attribute;
# spent 8µs making 1 call to Moose::BEGIN@27
282180µs11.86ms
# spent 1.86ms (295µs+1.56) within Moose::BEGIN@28 which was called: # once (295µs+1.56ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 28
use Moose::Meta::Instance;
# spent 1.86ms making 1 call to Moose::BEGIN@28
29
302156µs14.46ms
# spent 4.46ms (925µs+3.54) within Moose::BEGIN@30 which was called: # once (925µs+3.54ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 30
use Moose::Object;
# spent 4.46ms making 1 call to Moose::BEGIN@30
31
322185µs118.8ms
# spent 18.8ms (3.10+15.7) within Moose::BEGIN@32 which was called: # once (3.10ms+15.7ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 32
use Moose::Meta::Role;
# spent 18.8ms making 1 call to Moose::BEGIN@32
332194µs14.31ms
# spent 4.31ms (1.29+3.01) within Moose::BEGIN@33 which was called: # once (1.29ms+3.01ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 33
use Moose::Meta::Role::Composite;
# spent 4.31ms making 1 call to Moose::BEGIN@33
342158µs12.67ms
# spent 2.67ms (905µs+1.76) within Moose::BEGIN@34 which was called: # once (905µs+1.76ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 34
use Moose::Meta::Role::Application;
# spent 2.67ms making 1 call to Moose::BEGIN@34
352144µs13.05ms
# spent 3.05ms (1.74+1.31) within Moose::BEGIN@35 which was called: # once (1.74ms+1.31ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 35
use Moose::Meta::Role::Application::RoleSummation;
# spent 3.05ms making 1 call to Moose::BEGIN@35
362127µs12.55ms
# spent 2.55ms (1.00+1.55) within Moose::BEGIN@36 which was called: # once (1.00ms+1.55ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 36
use Moose::Meta::Role::Application::ToClass;
# spent 2.55ms making 1 call to Moose::BEGIN@36
372136µs11.55ms
# spent 1.55ms (820µs+727µs) within Moose::BEGIN@37 which was called: # once (820µs+727µs) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 37
use Moose::Meta::Role::Application::ToRole;
# spent 1.55ms making 1 call to Moose::BEGIN@37
382120µs11.58ms
# spent 1.58ms (441µs+1.14) within Moose::BEGIN@38 which was called: # once (441µs+1.14ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 38
use Moose::Meta::Role::Application::ToInstance;
# spent 1.58ms making 1 call to Moose::BEGIN@38
39
40234µs22.90ms
# spent 1.46ms (10µs+1.45) within Moose::BEGIN@40 which was called: # once (10µs+1.45ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 40
use Moose::Util::TypeConstraints;
# spent 1.46ms making 1 call to Moose::BEGIN@40 # spent 1.45ms making 1 call to Moose::Util::TypeConstraints::import
41228µs2251µs
# spent 130µs (9+121) within Moose::BEGIN@41 which was called: # once (9µs+121µs) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 41
use Moose::Util 'throw_exception';
# spent 130µs making 1 call to Moose::BEGIN@41 # spent 121µs making 1 call to Sub::Exporter::__ANON__[Sub/Exporter.pm:337]
42
4321.06ms12.01ms
# spent 2.01ms (404µs+1.60) within Moose::BEGIN@43 which was called: # once (404µs+1.60ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@11 at line 43
use Moose::Meta::Attribute::Native;
# spent 2.01ms making 1 call to Moose::BEGIN@43
44
45
# spent 15.4ms (20µs+15.4) within Moose::extends which was called 2 times, avg 7.72ms/call: # once (11µs+7.72ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 17 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (9µs+7.70ms) by Moose::extends at line 419 of Moose/Exporter.pm
sub extends {
4637µs my $meta = shift;
47
48 unless ( @_ )
49 {
50 throw_exception( ExtendsMissingArgs => class_name => $meta->name );
51 }
52 # this checks the metaclass to make sure
53 # it is correct, sometimes it can get out
54 # of sync when the classes are being built
5517.70ms $meta->superclasses(@_);
# spent 7.70ms making 1 call to Moose::Meta::Class::superclasses
56}
57
58
# spent 124ms (57µs+124) within Moose::with which was called 8 times, avg 15.6ms/call: # 4 times (22µs+62.2ms) by Moose::with at line 419 of Moose/Exporter.pm, avg 15.5ms/call # once (10µs+20.8ms) by Bio::Roary::PostAnalysis::BEGIN@13 at line 21 of lib/Bio/Roary/InflateClusters.pm # once (8µs+16.9ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 24 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (9µs+15.4ms) by Bio::Roary::AnnotateGroups::BEGIN@21 at line 20 of lib/Bio/Roary/GeneNamesFromGFF.pm # once (8µs+9.11ms) by Bio::Roary::OrderGenes::BEGIN@21 at line 19 of lib/Bio/Roary/ContigsToGeneIDsFromGFF.pm
sub with {
59419µs462.2ms Moose::Util::apply_all_roles(shift, @_);
# spent 62.2ms making 4 calls to Moose::Util::apply_all_roles, avg 15.5ms/call
60}
61
62sub throw_error {
63 shift;
64 Class::MOP::Object->throw_error(@_);
65}
66
67
# spent 705ms (4.35+701) within Moose::has which was called 344 times, avg 2.05ms/call: # 172 times (3.08ms+348ms) by Moose::has at line 419 of Moose/Exporter.pm, avg 2.04ms/call # once (7µs+4.27ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 43 of lib/Bio/Roary/AnnotateGroups.pm # once (8µs+4.22ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 35 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (7µs+4.02ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 57 of lib/Bio/Roary/PostAnalysis.pm # once (8µs+3.90ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 30 of lib/Bio/Roary/SplitGroups.pm # once (7µs+3.88ms) by Bio::Roary::PostAnalysis::BEGIN@18 at line 32 of lib/Bio/Roary/Output/GroupsMultifastasNucleotide.pm # once (10µs+3.38ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 26 of lib/Bio/Roary/GroupStatistics.pm # once (10µs+3.37ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 37 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (6µs+3.36ms) by Bio::Roary::PostAnalysis::BEGIN@13 at line 27 of lib/Bio/Roary/InflateClusters.pm # once (8µs+3.28ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 27 of lib/Bio/Roary/SplitGroups.pm # once (10µs+3.27ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 59 of lib/Bio/Roary/PostAnalysis.pm # once (12µs+3.25ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 40 of lib/Bio/Roary/AnnotateGroups.pm # once (7µs+3.21ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 29 of lib/Bio/Roary/GroupStatistics.pm # once (6µs+3.09ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 33 of lib/Bio/Roary/SplitGroups.pm # once (11µs+3.03ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 30 of lib/Bio/Roary/Output/EmblGroups.pm # once (6µs+2.99ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 34 of lib/Bio/Roary/SplitGroups.pm # once (8µs+2.85ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 32 of lib/Bio/Roary/GroupStatistics.pm # once (7µs+2.75ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 32 of lib/Bio/Roary/OrderGenes.pm # once (9µs+2.74ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 38 of lib/Bio/Roary/AnnotateGroups.pm # once (12µs+2.71ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 24 of lib/Bio/Roary/OrderGenes.pm # once (9µs+2.71ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 28 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (9µs+2.64ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 25 of lib/Bio/Roary/Output/EmblGroups.pm # once (8µs+2.64ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 35 of lib/Bio/Roary/SplitGroups.pm # once (7µs+2.64ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 27 of lib/Bio/Roary/OrderGenes.pm # once (12µs+2.62ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 25 of lib/Bio/Roary/OrderGenes.pm # once (9µs+2.61ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 31 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (9µs+2.57ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 38 of lib/Bio/Roary/SplitGroups.pm # once (10µs+2.53ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 29 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (10µs+2.53ms) by Bio::Roary::AnnotateGroups::BEGIN@21 at line 22 of lib/Bio/Roary/GeneNamesFromGFF.pm # once (21µs+2.49ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 27 of lib/Bio/Roary/AnnotateGroups.pm # once (10µs+2.46ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 28 of lib/Bio/Roary/SplitGroups.pm # once (17µs+2.45ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 34 of lib/Bio/Roary/AnnotateGroups.pm # once (8µs+2.46ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 30 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (6µs+2.46ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 32 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (12µs+2.44ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 24 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (8µs+2.44ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 32 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (8µs+2.38ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 28 of lib/Bio/Roary/Output/EmblGroups.pm # once (9µs+2.37ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 36 of lib/Bio/Roary/AnnotateGroups.pm # once (9µs+2.36ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 55 of lib/Bio/Roary/PostAnalysis.pm # once (8µs+2.35ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 54 of lib/Bio/Roary/PostAnalysis.pm # once (10µs+2.33ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 29 of lib/Bio/Roary/PostAnalysis.pm # once (10µs+2.33ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 26 of lib/Bio/Roary/OrderGenes.pm # once (8µs+2.27ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 38 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (9µs+2.23ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 34 of lib/Bio/Roary/AnalyseGroups.pm # once (8µs+2.22ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 37 of lib/Bio/Roary/AnnotateGroups.pm # once (7µs+2.22ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 32 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (8µs+2.22ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 28 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (7µs+2.19ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 53 of lib/Bio/Roary/PostAnalysis.pm # once (7µs+2.16ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 33 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (8µs+2.14ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 33 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (9µs+2.13ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 26 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (7µs+2.13ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 29 of lib/Bio/Roary/OrderGenes.pm # once (7µs+2.12ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 34 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (9µs+2.12ms) by Bio::Roary::OrderGenes::BEGIN@21 at line 21 of lib/Bio/Roary/ContigsToGeneIDsFromGFF.pm # once (8µs+2.11ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 37 of lib/Bio/Roary/PostAnalysis.pm # once (9µs+2.10ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 24 of lib/Bio/Roary/PostAnalysis.pm # once (8µs+2.07ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 25 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (8µs+2.07ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 49 of lib/Bio/Roary/PostAnalysis.pm # once (7µs+2.06ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 56 of lib/Bio/Roary/PostAnalysis.pm # once (8µs+2.05ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 41 of lib/Bio/Roary/AnnotateGroups.pm # once (7µs+2.05ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 28 of lib/Bio/Roary/OrderGenes.pm # once (7µs+2.05ms) by Bio::Roary::PostAnalysis::BEGIN@18 at line 30 of lib/Bio/Roary/Output/GroupsMultifastasNucleotide.pm # once (9µs+2.04ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 20 of lib/Bio/Roary/SplitGroups.pm # once (7µs+2.04ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 24 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (7µs+2.04ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 39 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (6µs+2.04ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 33 of lib/Bio/Roary/AnnotateGroups.pm # once (6µs+2.03ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 34 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (6µs+2.00ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 34 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (8µs+2.00ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 22 of lib/Bio/Roary/AnalyseGroups.pm # once (6µs+2.00ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 51 of lib/Bio/Roary/PostAnalysis.pm # once (10µs+1.99ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 29 of lib/Bio/Roary/Output/EmblGroups.pm # once (7µs+1.99ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 50 of lib/Bio/Roary/PostAnalysis.pm # once (7µs+1.99ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 33 of lib/Bio/Roary/GroupStatistics.pm # once (7µs+1.99ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 28 of lib/Bio/Roary/PostAnalysis.pm # once (7µs+1.97ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 32 of lib/Bio/Roary/AnalyseGroups.pm # once (7µs+1.96ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 35 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (7µs+1.96ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 28 of lib/Bio/Roary/AnnotateGroups.pm # once (8µs+1.96ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 32 of lib/Bio/Roary/Output/EmblGroups.pm # once (6µs+1.96ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 31 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (7µs+1.95ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 31 of lib/Bio/Roary/OrderGenes.pm # once (7µs+1.95ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 31 of lib/Bio/Roary/PostAnalysis.pm # once (7µs+1.95ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 41 of lib/Bio/Roary/SplitGroups.pm # once (6µs+1.94ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 26 of lib/Bio/Roary/AnalyseGroups.pm # once (9µs+1.94ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 22 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (6µs+1.94ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 52 of lib/Bio/Roary/PostAnalysis.pm # once (9µs+1.94ms) by Bio::Roary::PostAnalysis::BEGIN@15 at line 21 of lib/Bio/Roary/GroupLabels.pm # once (7µs+1.92ms) by Bio::Roary::AnnotateGroups::BEGIN@21 at line 23 of lib/Bio/Roary/GeneNamesFromGFF.pm # once (6µs+1.92ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 31 of lib/Bio/Roary/AnalyseGroups.pm # once (10µs+1.91ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 35 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.92ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 29 of lib/Bio/Roary/AnalyseGroups.pm # once (6µs+1.91ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 28 of lib/Bio/Roary/AnalyseGroups.pm # once (8µs+1.91ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 19 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (6µs+1.91ms) by Bio::Roary::PostAnalysis::BEGIN@18 at line 33 of lib/Bio/Roary/Output/GroupsMultifastasNucleotide.pm # once (7µs+1.90ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 47 of lib/Bio/Roary/PostAnalysis.pm # once (8µs+1.90ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 38 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.90ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 34 of lib/Bio/Roary/Output/EmblGroups.pm # once (8µs+1.88ms) by Bio::Roary::PostAnalysis::BEGIN@18 at line 25 of lib/Bio/Roary/Output/GroupsMultifastasNucleotide.pm # once (9µs+1.88ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 31 of lib/Bio/Roary/GroupStatistics.pm # once (7µs+1.87ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 23 of lib/Bio/Roary/AnalyseGroups.pm # once (6µs+1.86ms) by Bio::Roary::OrderGenes::BEGIN@21 at line 23 of lib/Bio/Roary/ContigsToGeneIDsFromGFF.pm # once (6µs+1.85ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 36 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (7µs+1.85ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 27 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (6µs+1.84ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 26 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.80ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 35 of lib/Bio/Roary/Output/EmblGroups.pm # once (6µs+1.79ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 27 of lib/Bio/Roary/AnalyseGroups.pm # once (7µs+1.79ms) by Bio::Roary::OrderGenes::BEGIN@21 at line 24 of lib/Bio/Roary/ContigsToGeneIDsFromGFF.pm # once (6µs+1.78ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 27 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.78ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 32 of lib/Bio/Roary/AnnotateGroups.pm # once (6µs+1.77ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 33 of lib/Bio/Roary/Output/EmblGroups.pm # once (7µs+1.77ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 46 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.77ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 34 of lib/Bio/Roary/GroupStatistics.pm # once (6µs+1.77ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 30 of lib/Bio/Roary/AnnotateGroups.pm # once (6µs+1.76ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 21 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (8µs+1.75ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 33 of lib/Bio/Roary/OrderGenes.pm # once (6µs+1.75ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 34 of lib/Bio/Roary/PostAnalysis.pm # once (8µs+1.74ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 25 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (6µs+1.74ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 22 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (7µs+1.74ms) by Bio::Roary::PostAnalysis::BEGIN@18 at line 28 of lib/Bio/Roary/Output/GroupsMultifastasNucleotide.pm # once (6µs+1.73ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 24 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (5µs+1.72ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 35 of lib/Bio/Roary/GroupStatistics.pm # once (10µs+1.72ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 26 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (6µs+1.72ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 31 of lib/Bio/Roary/AnnotateGroups.pm # once (7µs+1.71ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 29 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (6µs+1.70ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 25 of lib/Bio/Roary/PostAnalysis.pm # once (8µs+1.70ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 37 of lib/Bio/Roary/GroupStatistics.pm # once (6µs+1.69ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 26 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (7µs+1.69ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 27 of lib/Bio/Roary/GroupStatistics.pm # once (7µs+1.67ms) by Bio::Roary::PostAnalysis::BEGIN@15 at line 22 of lib/Bio/Roary/GroupLabels.pm # once (8µs+1.64ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 31 of lib/Bio/Roary/SplitGroups.pm # once (6µs+1.63ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 41 of lib/Bio/Roary/PostAnalysis.pm # once (13µs+1.62ms) by Bio::Roary::PostAnalysis::BEGIN@13 at line 23 of lib/Bio/Roary/InflateClusters.pm # once (6µs+1.61ms) by Bio::Roary::OrderGenes::BEGIN@21 at line 26 of lib/Bio/Roary/ContigsToGeneIDsFromGFF.pm # once (6µs+1.60ms) by Bio::Roary::PostAnalysis::BEGIN@15 at line 24 of lib/Bio/Roary/GroupLabels.pm # once (8µs+1.59ms) by Bio::Roary::PostAnalysis::BEGIN@13 at line 24 of lib/Bio/Roary/InflateClusters.pm # once (6µs+1.59ms) by Bio::Roary::PostAnalysis::BEGIN@16 at line 29 of lib/Bio/Roary/AnnotateGroups.pm # once (7µs+1.58ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 34 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (6µs+1.58ms) by Bio::Roary::PostAnalysis::BEGIN@17 at line 28 of lib/Bio/Roary/GroupStatistics.pm # once (6µs+1.57ms) by Bio::Roary::PostAnalysis::BEGIN@18 at line 26 of lib/Bio/Roary/Output/GroupsMultifastasNucleotide.pm # once (6µs+1.57ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 26 of lib/Bio/Roary/Output/EmblGroups.pm # once (7µs+1.56ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 42 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.57ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 27 of lib/Bio/Roary/Output/EmblGroups.pm # once (6µs+1.56ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 44 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.56ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 45 of lib/Bio/Roary/PostAnalysis.pm # once (5µs+1.55ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 43 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.55ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 27 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (6µs+1.54ms) by Bio::Roary::PostAnalysis::BEGIN@18 at line 27 of lib/Bio/Roary/Output/GroupsMultifastasNucleotide.pm # once (5µs+1.54ms) by Bio::Roary::PostAnalysis::BEGIN@13 at line 25 of lib/Bio/Roary/InflateClusters.pm # once (6µs+1.54ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 39 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.53ms) by Bio::Roary::PostAnalysis::BEGIN@20 at line 35 of lib/Bio/Roary/OrderGenes.pm # once (6µs+1.53ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 29 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (6µs+1.53ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 27 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (7µs+1.52ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@15 at line 27 of lib/Bio/Roary/External/ProteinMuscleAlignmentFromNucleotides.pm # once (6µs+1.52ms) by Bio::Roary::Main::RoaryPostAnalysis::BEGIN@17 at line 20 of lib/Bio/Roary/CommandLine/RoaryPostAnalysis.pm # once (6µs+1.52ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 23 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (6µs+1.51ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 21 of lib/Bio/Roary/SplitGroups.pm # once (5µs+1.51ms) by Bio::Roary::PostAnalysis::BEGIN@13 at line 26 of lib/Bio/Roary/InflateClusters.pm # once (5µs+1.51ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 24 of lib/Bio/Roary/SplitGroups.pm # once (6µs+1.50ms) by Bio::Roary::PostAnalysis::BEGIN@14 at line 24 of lib/Bio/Roary/AnalyseGroups.pm # once (5µs+1.50ms) by Bio::Roary::PostAnalysis::BEGIN@15 at line 26 of lib/Bio/Roary/GroupLabels.pm # once (14µs+1.48ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 33 of lib/Bio/Roary/PostAnalysis.pm # once (6µs+1.47ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 40 of lib/Bio/Roary/PostAnalysis.pm # once (5µs+1.47ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 33 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (6µs+1.47ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 28 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (6µs+1.46ms) by Bio::Roary::CommandLine::RoaryPostAnalysis::BEGIN@13 at line 32 of lib/Bio/Roary/PostAnalysis.pm # once (5µs+1.45ms) by Bio::Roary::PostAnalysis::BEGIN@15 at line 25 of lib/Bio/Roary/GroupLabels.pm # once (5µs+1.45ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 25 of lib/Bio/Roary/SplitGroups.pm # once (6µs+1.45ms) by Bio::Roary::Output::GroupsMultifastasNucleotide::BEGIN@23 at line 28 of lib/Bio/Roary/Output/GroupsMultifastaNucleotide.pm # once (5µs+1.45ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 23 of lib/Bio/Roary/SplitGroups.pm # once (6µs+1.44ms) by Bio::Roary::PostAnalysis::BEGIN@22 at line 22 of lib/Bio/Roary/SplitGroups.pm # once (5µs+1.44ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 31 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (6µs+1.44ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 29 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (5µs+1.43ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 32 of lib/Bio/Roary/Output/NumberOfGroups.pm # once (5µs+1.42ms) by Bio::Roary::PostAnalysis::BEGIN@19 at line 30 of lib/Bio/Roary/Output/NumberOfGroups.pm
sub has {
6813762.75ms my $meta = shift;
69 my $name = shift;
70
711721.59ms my %context = Moose::Util::_caller_info;
# spent 1.59ms making 172 calls to Moose::Util::_caller_info, avg 9µs/call
72 $context{context} = 'has declaration';
73 $context{type} = 'class';
74 my @options = ( definition_context => \%context, @_ );
75 my $attrs = ( ref($name) eq 'ARRAY' ) ? $name : [ ($name) ];
76172346ms $meta->add_attribute( $_, @options ) for @$attrs;
# spent 346ms making 172 calls to Moose::Meta::Class::add_attribute, avg 2.01ms/call
77}
78
79
# spent 1.06ms (16µs+1.05) within Moose::before which was called 2 times, avg 532µs/call: # once (10µs+533µs) by Module::Runtime::require_module at line 36 of lib/Bio/Roary/CommandLine/Common.pm # once (6µs+514µs) by Moose::before at line 419 of Moose/Exporter.pm
sub before {
8016µs1514µs Moose::Util::add_method_modifier(shift, 'before', \@_);
# spent 514µs making 1 call to Moose::Util::add_method_modifier
81}
82
83sub after {
84 Moose::Util::add_method_modifier(shift, 'after', \@_);
85}
86
87sub around {
88 Moose::Util::add_method_modifier(shift, 'around', \@_);
89}
90
911100nsour $SUPER_PACKAGE;
9210sour $SUPER_BODY;
931200nsour @SUPER_ARGS;
94
95sub super {
96 if (@_) {
97 carp 'Arguments passed to super() are ignored';
98 }
99
100 # This check avoids a recursion loop - see
101 # t/bugs/super_recursion.t
102 return if defined $SUPER_PACKAGE && $SUPER_PACKAGE ne caller();
103 return unless $SUPER_BODY; $SUPER_BODY->(@SUPER_ARGS);
104}
105
106sub override {
107 my $meta = shift;
108 my ( $name, $method ) = @_;
109 $meta->add_override_method_modifier( $name => $method );
110}
111
112sub inner {
113 my $pkg = caller();
114 our ( %INNER_BODY, %INNER_ARGS );
115
116 if ( my $body = $INNER_BODY{$pkg} ) {
117 my @args = @{ $INNER_ARGS{$pkg} };
118 local $INNER_ARGS{$pkg};
119 local $INNER_BODY{$pkg};
120 return $body->(@args);
121 } else {
122 return;
123 }
124}
125
126sub augment {
127 my $meta = shift;
128 my ( $name, $method ) = @_;
129 $meta->add_augment_method_modifier( $name => $method );
130}
131
13218µs1884µsMoose::Exporter->setup_import_methods(
# spent 884µs making 1 call to Moose::Exporter::setup_import_methods
133 with_meta => [
134 qw( extends with has before after around override augment )
135 ],
136 as_is => [
137 qw( super inner ),
138 'Carp::confess',
139 'Scalar::Util::blessed',
140 ],
141);
142
143
# spent 51.9ms (1.01+50.9) within Moose::init_meta which was called 17 times, avg 3.06ms/call: # 17 times (1.01ms+50.9ms) by Moose::import at line 484 of Moose/Exporter.pm, avg 3.06ms/call
sub init_meta {
1443741.07ms shift;
145 my %args = @_;
146
147 my $class = $args{for_class}
148 or throw_exception( InitMetaRequiresClass => params => \%args );
149
150 my $base_class = $args{base_class} || 'Moose::Object';
151 my $metaclass = $args{metaclass} || 'Moose::Meta::Class';
152 my $meta_name = exists $args{meta_name} ? $args{meta_name} : 'meta';
153
1541772µs throw_exception( MetaclassNotLoaded => class_name => $metaclass )
# spent 72µs making 17 calls to Class::Load::XS::is_class_loaded, avg 4µs/call
155 unless is_class_loaded($metaclass);
156
1571730µs throw_exception( MetaclassMustBeASubclassOfMooseMetaClass => class_name => $metaclass )
# spent 30µs making 17 calls to UNIVERSAL::isa, avg 2µs/call
158 unless $metaclass->isa('Moose::Meta::Class');
159
160 # make a subtype for each Moose class
1613412.5ms class_type($class)
# spent 12.1ms making 17 calls to Moose::Util::TypeConstraints::class_type, avg 710µs/call # spent 413µs making 17 calls to Moose::Util::TypeConstraints::find_type_constraint, avg 24µs/call
162 unless find_type_constraint($class);
163
164 my $meta;
165
1661741µs if ( $meta = Class::MOP::get_metaclass_by_name($class) ) {
# spent 41µs making 17 calls to Class::MOP::get_metaclass_by_name, avg 2µs/call
167 unless ( $meta->isa("Moose::Meta::Class") ) {
168 if ( $meta->isa('Moose::Meta::Role') ) {
169 throw_exception( MetaclassIsARoleNotASubclassOfGivenMetaclass => role_name => $class,
170 metaclass => $metaclass,
171 role => $meta
172 );
173 } else {
174 throw_exception( MetaclassIsNotASubclassOfGivenMetaclass => class_name => $class,
175 metaclass => $metaclass,
176 class => $meta
177 );
178 }
179 }
180 } else {
181 # no metaclass
182
183 # now we check whether our ancestors have metaclass, and if so borrow that
1841777µs my ( undef, @isa ) = @{ mro::get_linear_isa($class) };
# spent 77µs making 17 calls to mro::get_linear_isa, avg 5µs/call
185
186 foreach my $ancestor ( @isa ) {
187 my $ancestor_meta = Class::MOP::get_metaclass_by_name($ancestor) || next;
188
189 my $ancestor_meta_class = $ancestor_meta->_real_ref_name;
190
191 # if we have an ancestor metaclass that inherits $metaclass, we use
192 # that. This is like _fix_metaclass_incompatibility, but we can do it now.
193
194 # the case of having an ancestry is not very common, but arises in
195 # e.g. Reaction
196 unless ( $metaclass->isa( $ancestor_meta_class ) ) {
197 if ( $ancestor_meta_class->isa($metaclass) ) {
198 $metaclass = $ancestor_meta_class;
199 }
200 }
201 }
202
2031712.8ms $meta = $metaclass->initialize($class);
# spent 12.8ms making 17 calls to Moose::Meta::Class::initialize, avg 752µs/call
20434550µs my $filename = module_notional_filename($meta->name);
# spent 536µs making 17 calls to Module::Runtime::module_notional_filename, avg 32µs/call # spent 14µs making 17 calls to Class::MOP::Package::name, avg 824ns/call
205 $INC{$filename} = '(set by Moose)'
206 unless exists $INC{$filename};
207 }
208
209 if (defined $meta_name) {
210 # also check for inherited non moose 'meta' method?
21117576µs my $existing = $meta->get_method($meta_name);
# spent 576µs making 17 calls to Class::MOP::Mixin::HasMethods::get_method, avg 34µs/call
212 if ($existing && !$existing->isa('Class::MOP::Method::Meta')) {
213 Carp::cluck "Moose is overwriting an existing method named "
214 . "$meta_name in class $class with a method "
215 . "which returns the class's metaclass. If this is "
216 . "actually what you want, you should remove the "
217 . "existing method, otherwise, you should rename or "
218 . "disable this generated method using the "
219 . "'-meta_name' option to 'use Moose'.";
220 }
221179.37ms $meta->_add_meta_method($meta_name);
# spent 9.37ms making 17 calls to Class::MOP::Mixin::HasMethods::_add_meta_method, avg 551µs/call
222 }
223
224 # make sure they inherit from Moose::Object
2253413.7ms $meta->superclasses($base_class)
# spent 14.9ms making 34 calls to Moose::Meta::Class::superclasses, avg 439µs/call, recursion: max depth 1, sum of overlapping time 1.27ms
226 unless $meta->superclasses();
227
228 return $meta;
229}
230
231# This may be used in some older MooseX extensions.
232sub _get_caller {
233 goto &Moose::Exporter::_get_caller;
234}
235
236## make 'em all immutable
237
2382118µs2114µs$_->make_immutable(
# spent 14µs making 21 calls to Class::MOP::Class::is_mutable, avg 643ns/call
239 inline_constructor => 1,
240 constructor_name => "_new",
241 # these are Class::MOP accessors, so they need inlining
242 inline_accessors => 1
24322156µs4278.1ms ) for grep { $_->is_mutable }
# spent 76.1ms making 21 calls to Class::MOP::Class::make_immutable, avg 3.63ms/call # spent 1.79ms making 9 calls to Class::MOP::Object::meta, avg 199µs/call # spent 19µs making 2 calls to Moose::Meta::Role::Method::Required::meta, avg 9µs/call # spent 13µs making 1 call to Moose::Meta::TypeCoercion::Union::meta # spent 11µs making 1 call to Moose::Meta::Role::Application::ToRole::meta # spent 11µs making 1 call to Moose::Meta::TypeCoercion::meta # spent 11µs making 1 call to Moose::Meta::Role::meta # spent 10µs making 1 call to Class::MOP::Mixin::meta # spent 10µs making 1 call to Moose::Meta::Role::Composite::meta # spent 10µs making 1 call to Moose::Meta::Role::Application::RoleSummation::meta # spent 10µs making 1 call to Moose::Meta::Role::Application::meta # spent 10µs making 1 call to Moose::Meta::Role::Application::ToClass::meta # spent 9µs making 1 call to Moose::Meta::Role::Application::ToInstance::meta
244 map { $_->meta }
245 qw(
246 Moose::Meta::Attribute
247 Moose::Meta::Class
248 Moose::Meta::Instance
249
250 Moose::Meta::TypeCoercion
251 Moose::Meta::TypeCoercion::Union
252
253 Moose::Meta::Method
254 Moose::Meta::Method::Constructor
255 Moose::Meta::Method::Destructor
256 Moose::Meta::Method::Overridden
257 Moose::Meta::Method::Augmented
258
259 Moose::Meta::Role
260 Moose::Meta::Role::Attribute
261 Moose::Meta::Role::Method
262 Moose::Meta::Role::Method::Required
263 Moose::Meta::Role::Method::Conflicting
264
265 Moose::Meta::Role::Composite
266
267 Moose::Meta::Role::Application
268 Moose::Meta::Role::Application::RoleSummation
269 Moose::Meta::Role::Application::ToClass
270 Moose::Meta::Role::Application::ToRole
271 Moose::Meta::Role::Application::ToInstance
272);
273
27433µs32µs$_->make_immutable(
# spent 2µs making 3 calls to Class::MOP::Class::is_mutable, avg 833ns/call
275 inline_constructor => 0,
276 constructor_name => undef,
277 # these are Class::MOP accessors, so they need inlining
278 inline_accessors => 1
279431µs68.70ms ) for grep { $_->is_mutable }
# spent 8.07ms making 3 calls to Class::MOP::Class::make_immutable, avg 2.69ms/call # spent 614µs making 2 calls to Class::MOP::Object::meta, avg 307µs/call # spent 13µs making 1 call to Class::MOP::Mixin::meta
280 map { $_->meta }
281 qw(
282 Moose::Meta::Method::Accessor
283 Moose::Meta::Method::Delegation
284 Moose::Meta::Mixin::AttributeCore
285);
286
287135µs1;
288
289# ABSTRACT: A postmodern object system for Perl 5
290
291__END__
 
# spent 404µs within Moose::bootstrap which was called: # once (404µs+0s) by DynaLoader::bootstrap at line 217 of DynaLoader.pm
sub Moose::bootstrap; # xsub