Skip to content

Instantly share code, notes, and snippets.

@FROGGS
Created September 17, 2014 13:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FROGGS/142df67239d20915245c to your computer and use it in GitHub Desktop.
Save FROGGS/142df67239d20915245c to your computer and use it in GitHub Desktop.
my $ver = 'Minsk-369-gb33f353';
grammar Stage::Grammar {
token TOP { <run>+ }
token run { <stage>+ \n? }
token stage { 'Stage ' $<key>=[\w+ \s* ':'] \s* $<duration>=[ <[\.\d]>+ ] \n? } # *
}
my %stage;
sub avg { [+](@^x)/@x };
class Stage::Actions {
method TOP($/) { make $<run>».made.classify(*.key).map({; .key => +avg .value>>.value }).join("\n") }
method run($/) { make $<stage>».made.hash }
method stage($/) { make ~$<key> => +$<duration> }
}
say Stage::Grammar.parse(q:to/EOF/, :actions(Stage::Actions)).?made;
Stage start : 0.000
Stage parse : 33.855
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.615
Stage mast : 10.801
Stage mbc : 0.167
Stage start : 0.000
Stage parse : 34.346
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.604
Stage mast : 10.722
Stage mbc : 0.173
Stage start : 0.000
Stage parse : 33.402
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.583
Stage mast : 10.694
Stage mbc : 0.187
Stage start : 0.000
Stage parse : 33.982
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.588
Stage mast : 10.771
Stage mbc : 0.176
Stage start : 0.000
Stage parse : 33.484
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.571
Stage mast : 10.676
Stage mbc : 0.166
Stage start : 0.000
Stage parse : 33.734
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.570
Stage mast : 10.646
Stage mbc : 0.164
Stage start : 0.000
Stage parse : 34.408
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.645
Stage mast : 10.712
Stage mbc : 0.166
Stage start : 0.000
Stage parse : 33.256
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.579
Stage mast : 10.751
Stage mbc : 0.162
Stage start : 0.000
Stage parse : 33.828
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.584
Stage mast : 10.694
Stage mbc : 0.169
Stage start : 0.000
Stage parse : 34.337
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.612
Stage mast : 10.910
Stage mbc : 0.225
Stage start : 0.000
Stage parse : 34.129
Stage syntaxcheck: 0.000
Stage ast : 0.000
Stage optimize : 2.602
Stage mast : 10.758
Stage mbc : 0.167
EOF
@FROGGS
Copy link
Author

FROGGS commented Sep 17, 2014

start      :    0
parse      :    33.887364
syntaxcheck:    0
ast        :    0
optimize   :    2.595727
mast       :    10.739545
mbc        :    0.174727

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment