The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/env perl
use strict;
use warnings;

use Math::Prime::Util qw/-nobigint random_prime random_ndigit_prime/;
use Benchmark qw/:all/;
use List::Util qw/min max/;
my $count = shift || -3;
my $maxdigits = (~0 <= 4294967295) ? 10 : 20;

srand(29);
test_at_digits($_) for (2 .. $maxdigits);

sub test_at_digits {
  my $digits = shift;
  die "Digits must be > 0" unless $digits > 0;

  cmpthese($count,{
    "$digits digits" => sub { random_ndigit_prime($digits) for (1..1000) },
  });
}