Bencher-Backend

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


	- Avoid perl undef warning.


1.047   2020-01-12  Released-By: PERLANCAR; Urgency: medium

	- Allow specifying field format in add_field().

        - [experimental] Replace formatter AddVsSlowest with AddComparisonFields
	  (which adds pct_faster_vs_slowest, pct_slower_vs_fastest) to make it
	  easy to say "xx times/percent slower than ..." as well as "xx
	  times/percent faster than ...".


1.046   2019-11-29  Released-By: PERLANCAR; Urgency: high

        - Merge releases 1.045 & 1.045.1.


1.045.1 2019-11-29  Released-By: PERLANCAR; Urgency: medium

	- Update coerce rule names (Data::Sah::Coerce 0.034+). UPDATE

lib/Bencher/Formatter/AddComparisonFields.pm  view on Meta::CPAN

            if !defined($slowest_time) || $slowest_time < $rit->{time};
        $fastest_time = $rit->{time}
            if !defined($fastest_time) || $fastest_time > $rit->{time};
    }

    return unless defined $slowest_time;

    $self->add_field(
        $envres,
        'pct_faster_vs_slowest',
        {after=>'time', align=>'number', format=>'percent'},
        sub {
            for my $rit (@{$envres->[2]}) {
                $rit->{pct_faster_vs_slowest} =
                    ($slowest_time - $rit->{time}) / $rit->{time};;
            }
        }
    );
    $self->add_field(
        $envres,
        'pct_slower_vs_fastest',
        {after=>'pct_faster_vs_slowest', align=>'number', format=>'percent'},
        sub {
            for my $rit (@{$envres->[2]}) {
                $rit->{pct_slower_vs_fastest} =
                    ($rit->{time} - $fastest_time) / $fastest_time;
            }
        }
    );
}

1;

lib/Bencher/Formatter/RenderAsBenchmarkPm.pm  view on Meta::CPAN

        push @rows, [
            $it->{_succinct_name},
            (defined($it->{rate}) ? "$it->{rate}/s" : sprintf("%.1f/s", 1000/$it->{time})),
        ];
        for my $j (0..$#{$items}) {
            my $pct;
            if ($i == $j) {
                $pct = "--";
            } else {
                if ($items->[$j]{time} < $it->{time}) {
                    # item i is slower than item j by N percent
                    $pct = -(1 - $items->[$j]{time} / $it->{time}) * 100;
                } else {
                    # item i is faster than item j by N percent
                    $pct = ($items->[$j]{time} / $it->{time} -1) * 100;
                }
                $pct = sprintf("%d%%", $pct);
            }
            push @{ $rows[-1] }, $pct;
        }
    }

    my $rres = ''; # render result



( run in 0.424 second using v1.01-cache-2.11-cpan-709fd43a63f )