view release on metacpan or search on metacpan
share/dictionary.txt view on Meta::CPAN
alligator
alligator's
alligators
alliteration
alliteration's
alliterations
alliterative
allocate
allocated
allocates
allocating
share/dictionary.txt view on Meta::CPAN
iterated
iterates
iterating
iteration
iteration's
iterations
iterative
iterator
iterators
itinerant
itinerants
share/dictionary.txt view on Meta::CPAN
reiterate
reiterated
reiterates
reiterating
reiteration
reiterations
reject
rejected
rejecting
rejection
rejection's
share/dictionary.txt view on Meta::CPAN
transliterate
transliterated
transliterates
transliterating
transliteration
transliterations
translucence
translucence's
translucent
transmigrate
transmigrated
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Password/zxcvbn/RankedDictionaries/French.pm view on Meta::CPAN
'italiens' => 2737,
'italique' => 14709,
'italiques' => 27235,
'items' => 20126,
'iteration' => 27236,
'iterations' => 26428,
'itineraire' => 8325,
'itineraires' => 9871,
'itinerant' => 17075,
'itinerante' => 15750,
'itinerantes' => 27237,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Password/zxcvbn/RankedDictionaries/English.pm view on Meta::CPAN
'italy' => 705,
'itasca' => 27790,
'items' => 1785,
'iterated' => 25059,
'iteration' => 10406,
'iterations' => 15499,
'iterative' => 16256,
'ithaca' => 10347,
'itinerant' => 13665,
'its' => 29,
'itself' => 591,
view all matches for this distribution
view release on metacpan or search on metacpan
eg/keyword-vs-native.pl view on Meta::CPAN
defined $miss_kw and die 'kw test data wrong';
print "missing key: both undef, but pathget did NOT autovivify users[5]\n";
print " users count after pathget: ", scalar(@{$data->{users}}), "\n";
# === Throughput ===
print "\nBenchmark (1M iterations each):\n";
cmpthese(-1, {
'native deref' => sub { my $v = $data->{users}[0]{addr}{city}; },
'pathget const' => sub { my $v = pathget $data, "/users/0/addr/city"; },
'pathget dyn' => sub { my $p = "/users/0/addr/city";
my $v = pathget $data, $p; },
view all matches for this distribution
view release on metacpan or search on metacpan
eg/atomic_counters.pl view on Meta::CPAN
# allocate 4 counters
my @counters = map { $pool->alloc } 1..4;
$pool->set($_, 0) for @counters;
printf "%d workers x %d iterations on %d counters\n",
$nworkers, $iters, scalar @counters;
my $t0 = time;
my @pids;
for my $w (1..$nworkers) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/PowerSet/Hash.pm view on Meta::CPAN
version 0.04
=head1 DESCRIPTION
This provides you with a power set (basically all combinational iterations) for
your hashes. This only does it for hashes, if you want them done for arrays, I
suggest using L<Data::PowerSet>. Please view the I<SEE ALSO> section below.
=head1 SUBROUTINES/METHODS
view all matches for this distribution
view release on metacpan or search on metacpan
xt/poll_cb_destroy_during_call.t view on Meta::CPAN
# (caught as a signal below) or, if the freed memory is still mapped,
# silently runs on through it and poll_cb returns normally (exit 7 below).
# Both are failures; only the specific croak is a pass.
#
# Each child publishes 3 messages and destroys/replaces on the FIRST
# callback, so the defect window (second and later loop iterations) is
# always exercised. alarm is a backstop against a garbage-cursor spin in
# the unfixed code.
my @cases;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Random/Contact/Language/EN.pm view on Meta::CPAN
alligator
alligator's
alligators
alliteration
alliteration's
alliterations
alliterative
allocate
allocated
allocates
allocating
lib/Data/Random/Contact/Language/EN.pm view on Meta::CPAN
iterated
iterates
iterating
iteration
iteration's
iterations
iterative
iterator
iterators
itinerant
itinerants
lib/Data/Random/Contact/Language/EN.pm view on Meta::CPAN
reiterate
reiterated
reiterates
reiterating
reiteration
reiterations
reject
rejected
rejecting
rejection
rejection's
lib/Data/Random/Contact/Language/EN.pm view on Meta::CPAN
transliterate
transliterated
transliterates
transliterating
transliteration
transliterations
translucence
translucence's
translucent
transmigrate
transmigrated
view all matches for this distribution
view release on metacpan or search on metacpan
- Tests use `Test::More` with `done_testing` (no predeclared test count)
- `rand_image.t` skips if `GD` module is not installed
- `rand_time.t` uses `Test::MockTime` to avoid midnight-boundary failures
- POD tests (`z0_pod.t`, `z1_pod-coverage.t`) require `Test::Pod`
- Many tests run 1000 iterations to validate random distributions
## Key Dependencies
- **Runtime**: `Time::Piece` >= 1.16 (core since Perl 5.10)
- **Optional**: `GD` (only for `rand_image`)
view all matches for this distribution
view release on metacpan or search on metacpan
bench/bench.pl view on Meta::CPAN
my ($r, $ri) = $srv->recv;
$srv->reply($ri, $r);
$cli->get($id);
}
my $el = time() - $t0;
printf "Single-process echo: %s req/s (%d iterations, %.1f ms)\n",
fmt_rate($N / $el), $N, $el * 1000;
$srv->unlink;
}
# --- Cross-process echo ---
bench/bench.pl view on Meta::CPAN
for (1..1000) { $cli->req($msg) } # warmup
my $t0 = time();
for (1..$N) { $cli->req($msg) }
my $el = time() - $t0;
printf "Cross-process echo: %s req/s (%d iterations, %.1f ms)\n",
fmt_rate($N / $el), $N, $el * 1000;
waitpid $pid, 0;
$srv->unlink;
}
bench/bench.pl view on Meta::CPAN
$srv->reply($id, $msg);
}
$cli->get($_) for @ids;
}
my $el = time() - $t0;
printf "Batch echo (%d/batch): %s req/s (%d iterations, %.1f ms)\n",
$batch, fmt_rate($total / $el), $total, $el * 1000;
$srv->unlink;
}
# --- req_wait with timeout ---
bench/bench.pl view on Meta::CPAN
for (1..1000) { $cli->req_wait($msg, 5.0) } # warmup
my $t0 = time();
for (1..$N) { $cli->req_wait($msg, 5.0) }
my $el = time() - $t0;
printf "Cross-process req_wait: %s req/s (%d iterations, %.1f ms)\n",
fmt_rate($N / $el), $N, $el * 1000;
waitpid $pid, 0;
$srv->unlink;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/Roundtrip.pm view on Meta::CPAN
all the C<< *2dump* >> subs by setting unicode escaping
permanently to false. This improves efficiency, although
one will ever need to
use this in extreme situations where a C<< *2dump* >>
sub is called repeatedly in a loop of
a few hundreds or thousands of iterations or more.
Each time a C<< *2dump* >> is called, the
C<< dont-bloody-escape-unicode >> flag is checked
and if it is set, then L<Data::Dumper>'s C<< qquote() >>
is overriden with C<< _qquote_redefinition_by_Corion() >>
view all matches for this distribution
view release on metacpan or search on metacpan
strand the read lock. */
if (!h->readonly) ss_rwlock_rdlock(h); /* frozen: immutable, no lock */
SsHeader *hd = h->hdr;
uint32_t nfree = 0, f = hd->node_free_head;
/* node_free_head / parent free-links are file-stored: bound the index and
cap iterations so a crafted out-of-range or cyclic free-list can't OOB
or spin (never taken for a valid free-list of length <= node_capacity) */
while (f != SS_NONE && ss_node_ok(h, f) && nfree <= h->node_capacity) { nfree++; f = h->nodes[f].parent; } /* cached cap: trusted anti-spin bound */
count = hd->count; /* backward-shift delete leaves no tombstones: occupied slots == count */
max_entries = hd->max_entries;
height = hd->height;
view all matches for this distribution
view release on metacpan or search on metacpan
uint32_t t = __atomic_exchange_n(&hdr->top, 0, __ATOMIC_ACQ_REL);
if (t == 0) return 0;
if (t > h->capacity) t = (uint32_t)h->capacity; /* corrupted top: clamp loop to real ctl array */
/* Wall-clock deadline for the per-slot wait. We hot-spin first, then
* fall back to short sleeps to avoid burning a core for 2s on a stuck
* slot. The deadline is checked periodically (every 64 iterations) to
* keep the steady-state cost ~zero. */
for (uint32_t i = 0; i < t; i++) {
struct timespec dl;
int dl_set = 0;
uint32_t spins = 0;
view all matches for this distribution
view release on metacpan or search on metacpan
benchmark/ds_vs_eval.pl view on Meta::CPAN
getopts 'hn:b:' => \my %opts or usage;
usage if $opts{h};
my $file = $ARGV[0] or usage;
die "File not found: $file\n" unless -f $file;
my $data = `cat $file`;
my $iterations = $opts{n} || 1000;
my $block_size = $opts{b} || 512;
printf "%s bytes were read\n", length $data;
print "First deserializing by eval...";
benchmark/ds_vs_eval.pl view on Meta::CPAN
unless compare_object $dsf->result, $object;
print " done\n";
my (@delay, @delay_dsr);
my $time = time;
printf "\nStarting %d iterations for eval...", $iterations;
for (1 .. $iterations) {
my $start = time;
my $res = eval $data;
push @delay, time - $start;
}
my $eval_time = time - $time;
printf " done (%3.3f seconds)\n", $eval_time;
printf "Starting %d iterations for Data::StreamDeserializer...", $iterations;
$time = time;
my $partcounter = 0;
for (1 .. $iterations) {
my $start = time;
my $dsr = new Data::StreamDeserializer
data => $data, block_size => $block_size;
$partcounter++ until $dsr->next;
benchmark/ds_vs_eval.pl view on Meta::CPAN
my $ds_time = time - $time;
printf " done (%3.3f seconds)\n", $ds_time;
print "\nEval statistic:\n";
printf "\t%d iterations were done\n", $iterations;
printf "\tmaximum deserialization time: %2.4f seconds\n", max(@delay);
printf "\tminimum deserialization time: %2.4f seconds\n", min(@delay);
printf "\taverage deserialization time: %2.4f seconds\n", avg(@delay);
print "\nStreamDeserializer statistic:\n";
printf "\t%d iterations were done\n", $iterations;
printf "\t%d SUBiterations were done\n", $partcounter;
printf "\t%d bytes in one block in one iteration\n", $block_size;
printf "\tmaximum deserialization time: %2.4f seconds\n", max(@delay_dsr);
printf "\tminimum deserialization time: %2.4f seconds\n", min(@delay_dsr);
printf "\taverage deserialization time: %2.4f seconds\n", avg(@delay_dsr);
printf "\taverage subiteration time: %2.5f seconds\n",
benchmark/ds_vs_eval.pl view on Meta::CPAN
usage: perl $0 [OPTIONS] test_file
OPTIONS:
-h - this helpscreen
-n count - iterations (default 1000)
-b count - bytes in one subiteration (default 512),
see perldoc Data::StreamDeserializer
hint: block_size
eof
exit 0;
view all matches for this distribution
view release on metacpan or search on metacpan
benchmark/vs_dumper.pl view on Meta::CPAN
getopts 'hn:b:' => \my %opts or usage;
usage if $opts{h};
my $file = $ARGV[0] or usage;
die "File not found: $file\n" unless -f $file;
my $data = `cat $file`;
my $iterations = $opts{n} || 1000;
my $block_size = $opts{b} || 512;
printf "%s bytes were read\n", length $data;
print "First serializing by eval...";
benchmark/vs_dumper.pl view on Meta::CPAN
print "done\n";
my @dumper_time;
my $time = time;
printf "Starting %d iterations for Dumper... ", $iterations;
for (1 .. $iterations) {
my $start_time = time;
my $str = Dumper($object);
push @dumper_time, time - $start_time;
}
benchmark/vs_dumper.pl view on Meta::CPAN
printf "done (%2.3f seconds)\n", $dumper_time;
my @ss_time;
$time = time;
printf "Starting %d iterations for Data::StreamSerializer... ", $iterations;
my $counter = 0;
for (1 .. $iterations) {
my $start_time = time;
$sr = new Data::StreamSerializer($object);
$sr->block_size($block_size);
$counter++ while defined $sr->next;
benchmark/vs_dumper.pl view on Meta::CPAN
printf "done (%2.3f seconds)\n", $ss_time;
print "\nDumper statistic:\n";
printf "\t%d iterations were done\n", $iterations;
printf "\tmaximum serialization time: %2.4f seconds\n", max(@dumper_time);
printf "\tminimum serialization time: %2.4f seconds\n", min(@dumper_time);
printf "\taverage serialization time: %2.4f seconds\n", avg(@dumper_time);
print "\nData::StreamSerializer statistic:\n";
printf "\t%d iterations were done\n", $iterations;
printf "\t%d SUBiterations were done\n", $counter;
printf "\tmaximum serialization time: %2.4f seconds\n", max(@ss_time);
printf "\tminimum serialization time: %2.4f seconds\n", min(@ss_time);
printf "\taverage serialization time: %2.4f seconds\n", avg(@ss_time);
printf "\taverage subiteration time: %2.5f seconds\n", $ss_time / $counter;
benchmark/vs_dumper.pl view on Meta::CPAN
usage: perl $0 [OPTIONS] test_file
OPTIONS:
-h - this helpscreen
-n count - iterations (default 1000)
-b count - bytes in one subiteration (default 512),
see perldoc Data::StreamDeserializer
hint: block_size
eof
exit 0;
view all matches for this distribution
view release on metacpan or search on metacpan
xt/crash_recovery.t view on Meta::CPAN
# The anonymous MAP_SHARED mapping is inherited across fork, so parent and child
# contend on the one wheel.
#
# The pool has to outlast the kill window on ANY runner, not just a slow one:
# only the odd ids are cancelled, so the child nets one timer every two
# iterations and a 100_000 pool was 61% consumed in 50ms here -- a 1.7x margin
# that a faster machine closes, and then the child dies of "timer pool is full"
# rather than of our SIGKILL, testing nothing. Size it past the 1M net adds the
# loop can possibly reach. Only touched pages are resident, so the larger
# mapping costs about what the old one did.
my $h = Data::TimingWheel::Shared->new(undef, 256, 1_100_000);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Data/TreeDraw.pm view on Meta::CPAN
# however they are updated in different places!!! so for short periods are different. $flag_ind_next_iter also same again update at different point
sub _more_flags {
my $ref = shift;
$id{q{}.$ref} = 1;
#y set next_element to the next iterations value
$next_element = $ind{$ref};
$flag_ind_next_iter = $next_element;
$flag_ind_last = $indent;
$last_name = q{}.$ref;
view all matches for this distribution
view release on metacpan or search on metacpan
-npro
-nsfs
--blank-lines-before-packages=0
--opening-hash-brace-right
--no-outdent-long-comments
--iterations=2
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
view all matches for this distribution
view release on metacpan or search on metacpan
-npro
-nsfs
--blank-lines-before-packages=0
--opening-hash-brace-right
--no-outdent-long-comments
--iterations=2
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
view all matches for this distribution
view release on metacpan or search on metacpan
-npro
-nsfs
--blank-lines-before-packages=0
--opening-hash-brace-right
--no-outdent-long-comments
--iterations=2
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
view all matches for this distribution
view release on metacpan or search on metacpan
-npro
-nsfs
--blank-lines-before-packages=0
--opening-hash-brace-right
--no-outdent-long-comments
--iterations=2
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
view all matches for this distribution
view release on metacpan or search on metacpan
bin/biorhythm view on Meta::CPAN
my ($begin, $end) = split(':', $__range);
die "positive integers please" if ($begin < 0);
die "positive integers please" if ($end < 0);
my $iterations = 1;
print "# $__birthday\n";
print "# $__day\n";
print " {\n";
view all matches for this distribution
view release on metacpan or search on metacpan
# check epoch days around the epoch
#
do {
my (@timevalues);
my $name = 'check epoch days around the epoch';
my $iterations = 10;
# check if this system can handle negative epoch values
@timevalues = localtime(-1);
# skip block:
SKIP: {
# skip section
if (! @timevalues) {
skip 'this system cannot handle dates before the epoch', $iterations;
}
# variables
my ($date, $control, @timevalues);
# get date object and control day
$date = Date::EzDate->new('Jan 4, 1970 5pm');
$control = $date->{'epoch day'};
foreach my $i (0..$iterations) {
err_comp(
$date->{'epoch day'},
$control,
"$name: iteration $i",
);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Date/Gregorian.pm view on Meta::CPAN
zero and defines how many days the dates in the sequence lie apart.
It defaults to one.
Each iterator maintains its own state; therefore it is legal to run
more than one iterator in parallel or even create new iterators
within iterations.
=head2 set_easter
I<set_easter> computes the date of Easter sunday of a given year,
taking into account how the date object was configured.
view all matches for this distribution
view release on metacpan or search on metacpan
examples/benchmark_date_parse.pl view on Meta::CPAN
my $date_string = '2015-01-14 21:07:31Z';
my $tests = [
{
'label' => 'Parse string',
'iterations' => 100000,
'coderef' => sub {
my $test_output = Date::Parse::str2time($date_string);
},
},
];
foreach my $test (@$tests) {
Benchmark::timethis(
$test->{'iterations'},
$test->{'coderef'},
$test->{'label'},
);
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/DateTime/Event/Random.pm view on Meta::CPAN
months => 4, # events occur about 3 times a year
start => DateTime->new( year => 2003 ),
end => DateTime->new( year => 2005 ) );
Note that the random values are generated on demand,
which means that the values may not be repeateable between iterations.
See the C<new_cached> constructor for a solution.
A C<DateTime::Set> object does not allow for the repetition of values.
Each element in a set is different.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/DateTime/Event/Sunrise.pm view on Meta::CPAN
of sunrise or sunset last computed.
=item c)
Iterate b) until the computed sunrise or sunset no longer changes significantly.
Usually 2 iterations are enough, in rare cases 3 or 4 iterations may be needed.
=back
However, I (second module maintainer) have checked with a few external
sources, to obtain test data. And actually, using the value 15.0 gives
view all matches for this distribution
view release on metacpan or search on metacpan
-npro
-nsfs
--blank-lines-before-packages=0
--opening-hash-brace-right
--no-outdent-long-comments
--iterations=2
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
# This appears to be needed with recent Perl::Tidy versions and
# Code::TidyAll. Otherwise it somehow turns UTF-8 POD text into
# ISO-8859-1. Setting this to utf8 doesn't work. This is almost certainly
# because of https://github.com/houseabsolute/perl-code-tidyall/issues/84
view all matches for this distribution
view release on metacpan or search on metacpan
-npro
-nsfs
--blank-lines-before-packages=0
--opening-hash-brace-right
--no-outdent-long-comments
--iterations=2
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
view all matches for this distribution
view release on metacpan or search on metacpan
-npro
-nsfs
--blank-lines-before-packages=0
--opening-hash-brace-right
--no-outdent-long-comments
--iterations=2
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
view all matches for this distribution