grep => sub {
while ( $data =~ /^(\d+) (\d+)/mg ) {
next if grep { $1 eq $_ } @skip;
next if grep { $2 eq $_ } @skip;
}
return 1
},
grep_1 => sub {
while ( $data =~ /^(\d+) (\d+)/mg ) {
next if grep { 1; $1 eq $_ } @skip;
next if grep { 1; $2 eq $_ } @skip;
}
return 1
},
grep_1 316/s -- -61%
grep 811/s 156% --
####
perl -MO=Concise,-exec -e "grep { $1 eq $_ } @a"
1 <0> enter v
2 <;> nextstate(main 1 -e:1) v:{
3 <0> pushmark s
4 <#> gv[*a] s
5 <1> rv2av[t4] lKM/1
6 <@> grepstart K
7 <|> grepwhile(other->8)[t5] vK
8 <#> gvsv[*1] s
9 <#> gvsv[*_] s
a <2> seq sK/2
goto 7
b <@> leave[1 ref] vKP/REFC
##
##
perl -MO=Concise,-exec -e "grep { 1; $1 eq $_ } @a"
1 <0> enter v
2 <;> nextstate(main 1 -e:1) v:{
3 <0> pushmark s
4 <#> gv[*a] s
5 <1> rv2av[t4] lKM/1
6 <@> grepstart K
7 <|> grepwhile(other->8)[t5] vK
8 <0> enter s
9 <;> nextstate(main 2 -e:1) v
a <#> gvsv[*1] s
b <#> gvsv[*_] s
c <2> seq sK/2
d <@> leave sKP
goto 7
e <@> leave[1 ref] vKP/REFC