BSD Ports

benchmarks/p5-Benchmark-Forking 1.01 MidnightBSD

Run benchmarks in separate processes

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
Port added
Last update
Commit
e93ab760a6
License
artistic, gpl+
Categories
benchmarks, perl5

Description

The Benchmark::Forking module changes the behavior of the standard Benchmark module, running each piece of code to be timed in a separate forked process. Because each child exits after running its timing loop, the computations it performs can't propogate back to affect subsequent test cases.

This can make benchmark comparisons more accurate, because the separate test cases are mostly isolated from side-effects caused by the others. Benchmark scripts typically don't depend on those side-effects, so in most cases you can simply use or require this module at the top of your existing code without having to change anything else.

In the other systems

SystemPortVersion
MidnightBSDbenchmarks/p5-Benchmark-Forking1.01
FreeBSDbenchmarks/p5-Benchmark-Forking1.01_2
DragonFlybenchmarks/p5-Benchmark-Forking1.01_2
HardenedBSDbenchmarks/p5-Benchmark-Forking1.01_2
GhostBSDbenchmarks/p5-Benchmark-Forking1.01_2

Install

Binary package:

mport install p5-Benchmark-Forking

From mports:

cd /usr/mports/benchmarks/p5-Benchmark-Forking && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	p5-Benchmark-Forking>0:benchmarks/p5-Benchmark-Forking

Dependencies

No port depends on this one.

Configuration

No options to configure.

USES
perl5
Service scripts
none

Files

pkg-plist 2
  • %%SITE_PERL%%/Benchmark/Forking.pm
  • %%PERL5_MAN3%%/Benchmark::Forking.3.gz
distinfo 1
FileSizeSHA256
Benchmark-Forking-1.01.tar.gz6251d0c2f68fb3187826553017ea1f98f9ef2cc01aa131ee6c5ba9fdc248bbcebf95
Master sites 1
  • CPAN

Commit history 1

DateCommitCreditsLog message
e93ab760a6 Lucas Holt benchmarks: add p5-Benchmark-Forking and p5-Benchmark-Stopwatch (#771)
Adds two related Perl benchmarking modules, imported from FreeBSD ports and adapted for mports. - **benchmarks/p5-Benchmark-Forking** 1.01 — runs each timed code block in a forked child so side-effects cannot leak between test cases. - **benchmarks/p5-Benchmark-Stopwatch** 0.05 — times the progression of a script via lap marks, printing elapsed time and percentage of total per event. Kept as one PR since the two are companion benchmarking modules and share the same `benchmarks/Makefile` SUBDIR change. ## mports adaptation The imported Makefiles carried FreeBSD-only license identifiers (`ART10 GPLv1+`), which mports does not recognize — `check-license` aborted before fetch: ``` ===> License not correctly defined: for unknown licenses, defining LICENSE_PERMS_ART10 is mandatory …