Source: libcrypt-dh-gmp-perl Maintainer: Debian Perl Group Uploaders: gregor herrmann , Dominic Hargreaves Section: perl Priority: optional Build-Depends: debhelper (>= 9.20120312), perl, libdevel-checklib-perl, libgmp-dev, libtest-requires-perl, perl (>= 5.11.1) | libextutils-parsexs-perl Standards-Version: 3.9.5 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libcrypt-dh-gmp-perl.git Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libcrypt-dh-gmp-perl.git Homepage: https://metacpan.org/release/Crypt-DH-GMP Package: libcrypt-dh-gmp-perl Architecture: any Depends: ${misc:Depends}, ${perl:Depends}, ${shlibs:Depends} Description: Crypt::DH replacement that uses GMP directly Crypt::DH::GMP is a (somewhat) portable replacement to Crypt::DH, implemented mostly in C. . In the beginning, there was Crypt::DH. However, Crypt::DH suffers from a couple of problems: GMP/Pari libraries are almost always required; Crypt::DH additionally has Math::BigInt in between GMP. Instantiating an object comes with a relatively high cost, and if you make many computations in one go, your program will suffer dramatically because of this. . Crypt::DH::GMP attempts to alleviate these problems by providing a Crypt::DH-compatible layer, which, instead of doing calculations via Math::BigInt, directly works with libgmp in C. . This means that essentially 2 call stacks worth of expensive Perl method calls are eliminated and also only load 1 (Crypt::DH::GMP) module instead of 3 (Crypt::DH + Math::BigInt + Math::BigInt::GMP) is needed. . These add up to a fairly significant increase in performance.