The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.37 - 2014-01-26

  • FUNCTIONALITY AND PERFORMANCE
    • Simplified primes(). No longer takes an optional hashref as first arg, which was awkward and never documented.
    • Dynamically loads the PP code and Math::BigInt only when needed. This removes a lot of bloat for the usual cases:
      • 2.0 MB perl -E 'say 1' 4.2 MB MPU 0.37 4.5 MB Math::Prime::XS + Math::Factor::XS 5.3 MB Math::Pari 7.6 MB MPU 0.34 9.6 MB MPU 0.36 9.7 MB MPU 0.35
    • Combined with the above, this reduces startup overhead a lot (~3x).
    • Adjusted factor script to lower startup costs. Over 2x faster with native integer (non-expression) arguments. This is just not loading thousands of lines of Perl code that aren't used, which was more time-consuming than the actual factoring.
    • nth_prime_{lower,upper,approx} and prime_count_{lower,upper,approx} moved to XS->PP. This helps us slim down and cut startup overhead.
    • Fix doc for znlog: znlog(a,g,p) finds k s.t. a = g^k mod p

Modules

Utilities related to prime numbers, including fast sieves and factoring
Elliptic curve operations for affine points
Elliptic curve operations for projective points
An auto-free object for Math::Prime::Util
Pure Perl version of Math::Prime::Util
PP front end for Math::Prime::Util
Primality proofs and certificates
A tied array for primes
An object iterator for primes
Generate random primes
Perl Big Float versions of Riemann Zeta and R functions

Provides

in lib/Math/Prime/Util/PPFE.pm