App-BencherUtils

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

0.245   2022-08-24  Released-By: PERLANCAR; Urgency: medium

        - Replace dep PERLANCAR::Module::List with Module::Tiny::Tiny.


0.244   2021-07-23  Released-By: PERLANCAR; Urgency: high

        - Merge release 0.243 and 0.243.1.


0.243.1 2021-07-23  Released-By: PERLANCAR; Urgency: medium

	- [cli format-bencher-result] Add option --as to allow formatting
	  as Benchmark.pm result.

        - UPDATE: rename release from 0.243 to 0.243.1 due to conflict.


0.243   2021-01-20  Released-By: PERLANCAR; Urgency: medium

	- Add CLI: gen-bencher-scenario-from-cpanmodules.


0.242   2019-08-08  Released-By: PERLANCAR; Urgency: high

	- No functional changes.

	- Adjust to renamed dep: Data::Clean::JSON -> Data::Clean::ForJSON.


0.241   2018-04-03  Released-By: PERLANCAR

	- bencher-module-startup-overhead: Allow imports.


0.240   2018-02-18  Released-By: PERLANCAR

	- Add utility: bencher-for.


0.23    2017-08-02  Released-By: PERLANCAR

	- bencher-code: Tweak Rinci metadata.


0.22    2017-07-13  Released-By: PERLANCAR

META.json  view on Meta::CPAN

            "File::Spec" : "0",
            "IO::Handle" : "0",
            "IPC::Open3" : "0",
            "Test::More" : "0"
         }
      }
   },
   "provides" : {
      "App::BencherUtils" : {
         "file" : "lib/App/BencherUtils.pm",
         "version" : "0.245"
      }
   },
   "release_status" : "stable",
   "resources" : {
      "bugtracker" : {
         "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=App-BencherUtils"
      },
      "homepage" : "https://metacpan.org/release/App-BencherUtils",
      "repository" : {
         "type" : "git",
         "url" : "git://github.com/perlancar/perl-App-BencherUtils.git",
         "web" : "https://github.com/perlancar/perl-App-BencherUtils"
      }
   },
   "version" : "0.245",
   "x_Dist_Zilla" : {
      "perl" : {
         "version" : "5.034000"
      },
      "plugins" : [
         {
            "class" : "Dist::Zilla::Plugin::GenPericmdScript",
            "name" : "GenPericmdScript chart-bencher-result",
            "version" : "0.424"
         },

META.yml  view on Meta::CPAN

dynamic_config: 0
generated_by: 'Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: '1.4'
name: App-BencherUtils
provides:
  App::BencherUtils:
    file: lib/App/BencherUtils.pm
    version: '0.245'
requires:
  Acme::CPANModulesUtil::Bencher: '0'
  App::lcpan::Call: '0.11'
  Bencher::Backend: '1.061'
  Browser::Open: '0'
  Complete::Module: '0.262'
  Complete::Util: '0.608'
  Data::Clean::ForJSON: '0'
  Data::Sah::Coerce::perl::To_float::From_str::percent: '0'
  Data::Sah::Coerce::perl::To_str::From_str::normalize_perl_modname: '0'

META.yml  view on Meta::CPAN

  Sah::Schema::array_from_json: '0'
  Sah::Schema::perl::modargs: '0'
  Sah::Schema::perl::modname: '0.035'
  perl: '5.010001'
  strict: '0'
  warnings: '0'
resources:
  bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=App-BencherUtils
  homepage: https://metacpan.org/release/App-BencherUtils
  repository: git://github.com/perlancar/perl-App-BencherUtils.git
version: '0.245'
x_Dist_Zilla:
  perl:
    version: '5.034000'
  plugins:
    -
      class: Dist::Zilla::Plugin::GenPericmdScript
      name: 'GenPericmdScript chart-bencher-result'
      version: '0.424'
    -
      class: Dist::Zilla::Plugin::GenPericmdScript

Makefile.PL  view on Meta::CPAN

    "Sah::Schema::perl::modname" => "0.035",
    "strict" => 0,
    "warnings" => 0
  },
  "TEST_REQUIRES" => {
    "File::Spec" => 0,
    "IO::Handle" => 0,
    "IPC::Open3" => 0,
    "Test::More" => 0
  },
  "VERSION" => "0.245",
  "test" => {
    "TESTS" => "t/*.t"
  }
);


my %FallbackPrereqs = (
  "Acme::CPANModulesUtil::Bencher" => 0,
  "App::lcpan::Call" => "0.11",
  "Bencher::Backend" => "1.061",

README  view on Meta::CPAN

NAME
    App::BencherUtils - Utilities related to bencher

VERSION
    This document describes version 0.245 of App::BencherUtils (from Perl
    distribution App-BencherUtils), released on 2022-08-24.

SYNOPSIS
DESCRIPTION
    This distribution includes several utilities:

    *   bencher-code

    *   bencher-for

dist.ini  view on Meta::CPAN

;---------------------------------
author  = perlancar <perlancar@cpan.org>
copyright_holder = perlancar <perlancar@cpan.org>
license = Perl_5
;---------------------------------

version=0.245

name=App-BencherUtils

[GenPericmdScript / GenPericmdScript chart-bencher-result]
url=/App/BencherUtils/chart_bencher_result
config_filename=bencher.conf
config_filename=chart_bencher_result.conf

[GenPericmdScript / GenPericmdScript format-bencher-result]
url=/App/BencherUtils/format_bencher_result

lib/App/BencherUtils.pm  view on Meta::CPAN

use Data::Clean::ForJSON;
use Function::Fallback::CoreOrPP qw(clone);
use Perinci::Object;
use Perinci::Sub::Util qw(err);
use PerlX::Maybe;
use POSIX qw(strftime);

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

our %SPEC;

$SPEC{':package'} = {
    v => 1.1,
    summary => 'Utilities related to bencher',
};

my %args_common = (
    result_dir => {

lib/App/BencherUtils.pm  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

App::BencherUtils - Utilities related to bencher

=head1 VERSION

This document describes version 0.245 of App::BencherUtils (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

=head1 DESCRIPTION

This distribution includes several utilities:

=over

=item * L<bencher-code>

script/bencher-code  view on Meta::CPAN


use 5.010001;
use strict;
use warnings;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/bencher_code",
    program_name => "bencher-code",
    pass_cmdline_object => 1,
    config_filename => ["bencher.conf", "bencher-code.conf"],
    use_utf8 => 1,
);

$cmdline->run;

script/bencher-code  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

bencher-code - Accept a list of codes and perform benchmark

=head1 VERSION

This document describes version 0.245 of bencher-code (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<bencher-code> [(B<--code>=I<str>)+|B<--codes-json>=I<json>] [B<--config-path>=I<path>|B<-c>|B<--no-config>|B<-C>] [B<--config-profile>=I<profile>|B<-P>] [B<--format>=I<name>|B<--json>] [B<--(no)naked-res>] [B<--no-env>] [B<--page-result>[=I<program...

=head1 DESCRIPTION

    % bencher-code 'code1' 'code2'

is basically a shortcut for creating a scenario like this:

script/bencher-for  view on Meta::CPAN


use 5.010001;
use strict;
use warnings;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/bencher_for",
    program_name => "bencher-for",
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

script/bencher-for  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

bencher-for - List distributions that benchmarks specified modules

=head1 VERSION

This document describes version 0.245 of bencher-for (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<bencher-for> [B<--format>=I<name>|B<--json>] [B<--(no)naked-res>] [B<--page-result>[=I<program>]|B<--view-result>[=I<program>]] -- E<lt>I<modules>E<gt> ...

=head1 DESCRIPTION

This utility consults L<lcpan> (local indexed CPAN mirror) to check if there
are distributions that benchmarks a specified module. This is done by checking
the presence of a dependency with the relationship C<x_benchmarks>.

script/bencher-module-startup-overhead  view on Meta::CPAN

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/bencher_module_startup_overhead",
    program_name => "bencher-module-startup-overhead",
    log => 1,
    pass_cmdline_object => 1,
    config_filename => ["bencher.conf", "bencher-module-startup-overhead.conf"],
    use_utf8 => 1,
);

script/bencher-module-startup-overhead  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

bencher-module-startup-overhead - Accept a list of module names and perform startup overhead benchmark

=head1 VERSION

This document describes version 0.245 of bencher-module-startup-overhead (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<bencher-module-startup-overhead> [B<--config-path>=I<path>|B<-c>|B<--no-config>|B<-C>] [B<--config-profile>=I<profile>|B<-P>] [B<--debug>|B<--log-level>=I<level>|B<--quiet>|B<--trace>|B<--verbose>] [B<--format>=I<name>|B<--json>] [B<--modules>=I<pe...

=head1 DESCRIPTION

    % bencher-module-startup-overhead Mod1 Mod2 Mod3

is basically a shortcut for creating a scenario like this:

script/chart-bencher-result  view on Meta::CPAN


use 5.010001;
use strict;
use warnings;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/chart_bencher_result",
    program_name => "chart-bencher-result",
    config_filename => ["bencher.conf", "chart_bencher_result.conf"],
);

$cmdline->run;

# ABSTRACT: Generate chart of bencher result and display it

script/chart-bencher-result  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

chart-bencher-result - Generate chart of bencher result and display it

=head1 VERSION

This document describes version 0.245 of chart-bencher-result (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<chart-bencher-result> [B<--config-path>=I<path>|B<-c>|B<--no-config>|B<-C>] [B<--config-profile>=I<profile>|B<-P>] [B<--format>=I<name>|B<--json>] [B<--(no)naked-res>] [B<--no-env>] [B<--page-result>[=I<program>]|B<--view-result>[=I<program>]] -- E...

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

script/cleanup-old-bencher-results  view on Meta::CPAN

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/cleanup_old_bencher_results",
    program_name => "cleanup-old-bencher-results",
    log => 1,
    config_filename => ["bencher.conf", "cleanup-old-bencher-results.conf"],
);

$cmdline->run;

script/cleanup-old-bencher-results  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

cleanup-old-bencher-results - Delete old results

=head1 VERSION

This document describes version 0.245 of cleanup-old-bencher-results (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<cleanup-old-bencher-results> [B<--config-path>=I<path>|B<-c>|B<--no-config>|B<-C>] [B<--config-profile>=I<profile>|B<-P>] [B<--debug>|B<--log-level>=I<level>|B<--quiet>|B<--trace>|B<--verbose>] [B<--detail>|B<-l>|B<--no-detail>|B<--nodetail>] [B<--...

=head1 DESCRIPTION

By default it will only keep 1 latest result for each scenario for the same CPU
and the same module versions.

script/format-bencher-result  view on Meta::CPAN


use 5.010001;
use strict;
use warnings;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/format_bencher_result",
    program_name => "format-bencher-result",
    config_filename => ["bencher.conf", "format_bencher_result.conf"],
);

$cmdline->run;

# ABSTRACT: Format bencher raw/JSON result

script/format-bencher-result  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

format-bencher-result - Format bencher raw/JSON result

=head1 VERSION

This document describes version 0.245 of format-bencher-result (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<format-bencher-result> [B<--config-path>=I<path>|B<-c>|B<--no-config>|B<-C>] [B<--config-profile>=I<profile>|B<-P>] [B<--format>=I<name>|B<--json>] [B<--(no)naked-res>] [B<--no-env>] [B<--page-result>[=I<program>]|B<--view-result>[=I<program>]] -- ...

=head1 OPTIONS

C<*> marks required options.

=head2 Main options

script/gen-bencher-scenario-from-cpanmodules  view on Meta::CPAN

use 5.010001;
use strict;
use warnings;
use Log::ger;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/Acme/CPANModulesUtil/Bencher/gen_bencher_scenario",
    program_name => "gen-bencher-scenario-from-cpanmodules",
    log => 1,
    read_config => 0,
    read_env => 0,
);

$cmdline->run;

script/gen-bencher-scenario-from-cpanmodules  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

gen-bencher-scenario-from-cpanmodules - Generate/extract Bencher scenario from information in an Acme::CPANModules::* list

=head1 VERSION

This document describes version 0.245 of gen-bencher-scenario-from-cpanmodules (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<gen-bencher-scenario-from-cpanmodules> [B<--debug>|B<--log-level>=I<level>|B<--quiet>|B<--trace>|B<--verbose>] [B<--format>=I<name>|B<--json>] [B<--(no)naked-res>] [B<--page-result>[=I<program>]|B<--view-result>[=I<program>]] -- E<lt>I<cpanmodule>E...

=head1 DESCRIPTION

An L<Acme::CPANModules>::* module can contain benchmark information, for
example in L<Acme::CPANModules::TextTable>, each entry has the following
property:

script/list-bencher-results  view on Meta::CPAN


use 5.010001;
use strict;
use warnings;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/list_bencher_results",
    program_name => "list-bencher-results",
    config_filename => ["bencher.conf", "list-bencher-results.conf"],
    use_utf8 => 1,
);

$cmdline->run;

script/list-bencher-results  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

list-bencher-results - List results in results directory

=head1 VERSION

This document describes version 0.245 of list-bencher-results (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<list-bencher-results> [B<--config-path>=I<path>|B<-c>|B<--no-config>|B<-C>] [B<--config-profile>=I<profile>|B<-P>] [B<--detail>|B<-l>|B<--no-detail>|B<--nodetail>] [(B<--exclude-scenario>=I<str>)+|B<--exclude-scenarios-json>=I<json>] [B<--fmt>|B<--...



See examples in the L</EXAMPLES> section.

=head1 OPTIONS

script/list-bencher-scenario-modules  view on Meta::CPAN


use 5.010001;
use strict;
use warnings;

use Perinci::CmdLine::Any;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2022-08-24'; # DATE
our $DIST = 'App-BencherUtils'; # DIST
our $VERSION = '0.245'; # VERSION

my $cmdline = Perinci::CmdLine::Any->new(
    url => "/App/BencherUtils/list_bencher_scenario_modules",
    program_name => "list-bencher-scenario-modules",
    config_filename => ["bencher.conf", "list-bencher-scenario-modules.conf"],
);

$cmdline->run;

# ABSTRACT: List Bencher scenario modules

script/list-bencher-scenario-modules  view on Meta::CPAN

=pod

=encoding UTF-8

=head1 NAME

list-bencher-scenario-modules - List Bencher scenario modules

=head1 VERSION

This document describes version 0.245 of list-bencher-scenario-modules (from Perl distribution App-BencherUtils), released on 2022-08-24.

=head1 SYNOPSIS

B<list-bencher-scenario-modules> [B<--config-path>=I<path>|B<-c>|B<--no-config>|B<-C>] [B<--config-profile>=I<profile>|B<-P>] [B<--detail>|B<-l>|B<--no-detail>|B<--nodetail>] [B<--format>=I<name>|B<--json>] [B<--(no)naked-res>] [B<--no-env>] [B<--pag...

=head1 OPTIONS

C<*> marks required options.

=head2 Main options



( run in 0.656 second using v1.01-cache-2.11-cpan-7add2cbd662 )