Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use strict;
- use warnings;
- use Benchmark qw(cmpthese);
- chomp( my @lines = <DATA> );
- sub regExLines {
- my ( $yes, $no );
- for my $string (@lines) {
- next if $string !~ /^\*.+/ or $string =~ /Created/;
- if ( $string =~
- /^(?>\*\s+(\w\w\w-\d\d-\d\d\d\d)\s+(\w+)\s+(\d+)\s+)(?!Created)/ )
- {
- $yes++;
- }
- else {
- $no++;
- }
- }
- }
- sub splitLines {
- my ( $yes, $no );
- for my $string (@lines) {
- next if $string !~ /^\*.+/ or $string =~ /Created/;
- my ( undef, $date, $user, $change, $desc ) = split ' ', $string, 5;
- if ( $desc !~ /^Created/ ) {
- $yes++;
- }
- else {
- $no++;
- }
- }
- }
- cmpthese(
- -5,
- {
- regExLines => sub { regExLines() },
- splitLines => sub { splitLines() },
- }
- );
- # Rate regExLines splitLines
- #splitLines 356059/s -- -6%
- #regExLines 377659/s 6% --
- __DATA__
- * JAN-01-2001 bugsbunny 1234 Created Module
- JAN-01-2001 bugsbunny 1234 Created Module
- * DEC-12-2012 bugsbunny 5678 Modified Module
- DEC-12-2012 bugsbunny 5678 Modified Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement