Home | Libraries | People | FAQ | More |
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Table of Contents
Table 1. Compiler Comparison on Windows x64
Function |
Microsoft Visual C++ version 14.0 |
GNU C++ version 5.3.0 |
GNU C++ version 5.3.0 |
Intel C++ C++0x mode version 1600 |
---|---|---|---|---|
assoc_laguerre |
1.16 |
1.21 |
1.06 |
1.00 |
assoc_legendre |
1.57 |
1.80 |
1.16 |
1.00 |
beta |
1.74 |
3.78 |
2.17 |
1.00 |
beta (incomplete) |
1.44 |
3.03 |
1.84 |
1.00 |
cbrt |
3.21 |
3.43 |
3.07 |
1.00 |
cyl_bessel_i |
1.11 |
2.78 |
1.21 |
1.00 |
cyl_bessel_i (integer order) |
1.29 |
3.16 |
1.22 |
1.00 |
cyl_bessel_j |
1.19 |
2.06 |
1.25 |
1.00 |
cyl_bessel_j (integer order) |
1.36 |
2.39 |
1.47 |
1.00 |
cyl_bessel_k |
1.04 |
9.43 |
1.03 |
1.00 |
cyl_bessel_k (integer order) |
1.26 |
10.49 |
1.10 |
1.00 |
cyl_neumann |
16.76 |
2.01 |
1.00 |
15.35 |
cyl_neumann (integer order) |
1.00 |
1.79 |
1.24 |
1.02 |
digamma |
1.20 |
3.75 |
2.15 |
1.00 |
ellint_1 |
1.87 |
1.99 |
1.32 |
1.00 |
ellint_1 (complete) |
2.18 |
2.57 |
1.57 |
1.00 |
ellint_2 |
1.78 |
2.17 |
1.52 |
1.00 |
ellint_2 (complete) |
2.14 |
2.07 |
1.24 |
1.00 |
ellint_3 |
1.94 |
2.91 |
1.65 |
1.00 |
ellint_3 (complete) |
2.05 |
3.07 |
1.46 |
1.00 |
ellint_rc |
1.58 |
2.68 |
1.55 |
1.00 |
ellint_rd |
1.75 |
1.83 |
1.40 |
1.00 |
ellint_rf |
1.69 |
2.40 |
1.57 |
1.00 |
ellint_rj |
1.91 |
2.96 |
1.43 |
1.00 |
erf |
1.77 |
2.92 |
1.92 |
1.00 |
erfc |
1.29 |
3.41 |
2.06 |
1.00 |
expint |
1.39 |
3.07 |
2.14 |
1.00 |
expint (En) |
1.10 |
2.19 |
1.38 |
1.00 |
expm1 |
1.00 |
3.10 |
2.40 |
1.10 |
gamma_p |
1.29 |
2.64 |
1.71 |
1.00 |
gamma_p_inv |
1.36 |
2.47 |
1.91 |
1.00 |
gamma_q |
1.16 |
2.79 |
1.61 |
1.00 |
gamma_q_inv |
1.37 |
2.38 |
1.89 |
1.00 |
ibeta |
1.34 |
3.13 |
1.83 |
1.00 |
ibeta_inv |
1.51 |
2.81 |
2.27 |
1.00 |
ibetac |
1.29 |
2.94 |
1.73 |
1.00 |
ibetac_inv |
1.41 |
2.80 |
1.78 |
1.00 |
jacobi_cn |
1.36 |
3.72 |
2.28 |
1.00 |
jacobi_dn |
1.82 |
3.68 |
2.27 |
1.00 |
jacobi_sn |
1.31 |
3.73 |
2.43 |
1.00 |
laguerre |
1.00 |
1.15 |
1.04 |
1.10 |
legendre |
1.07 |
1.16 |
1.00 |
1.13 |
legendre Q |
1.00 |
1.20 |
1.01 |
1.07 |
lgamma |
1.00 |
3.07 |
1.82 |
1.05 |
log1p |
1.00 |
2.00 |
1.14 |
1.00 |
polygamma |
1.16 |
1.02 |
2.24 |
1.00 |
sph_bessel |
1.17 |
1.55 |
1.09 |
1.00 |
sph_neumann |
1.08 |
2.07 |
1.00 |
1.01 |
tgamma |
1.31 |
4.03 |
2.49 |
1.00 |
tgamma (incomplete) |
1.26 |
2.52 |
1.73 |
1.00 |
trigamma |
1.35 |
2.88 |
1.41 |
1.00 |
zeta |
1.34 |
3.83 |
2.52 |
1.00 |
Table 2. Compiler Comparison on linux
Function |
GNU C++ version 5.3.0 |
GNU C++ version 5.3.0 |
---|---|---|
assoc_laguerre |
1.36 |
1.00 |
assoc_legendre |
2.55 |
1.00 |
beta |
4.71 |
1.00 |
beta (incomplete) |
3.12 |
1.00 |
cbrt |
2.53 |
1.00 |
cyl_bessel_i |
3.47 |
1.00 |
cyl_bessel_i (integer order) |
3.38 |
1.00 |
cyl_bessel_j |
2.69 |
1.00 |
cyl_bessel_j (integer order) |
2.59 |
1.00 |
cyl_bessel_k |
6.86 |
1.00 |
cyl_bessel_k (integer order) |
10.17 |
1.00 |
cyl_neumann |
2.48 |
1.00 |
cyl_neumann (integer order) |
2.20 |
1.00 |
digamma |
1.92 |
1.00 |
ellint_1 |
1.94 |
1.00 |
ellint_1 (complete) |
1.86 |
1.00 |
ellint_2 |
2.32 |
1.00 |
ellint_2 (complete) |
1.71 |
1.00 |
ellint_3 |
2.75 |
1.00 |
ellint_3 (complete) |
2.23 |
1.00 |
ellint_rc |
1.57 |
1.00 |
ellint_rd |
2.23 |
1.00 |
ellint_rf |
1.51 |
1.00 |
ellint_rj |
2.33 |
1.00 |
erf |
2.60 |
1.00 |
erfc |
2.68 |
1.00 |
expint |
2.47 |
1.00 |
expint (En) |
1.86 |
1.00 |
expm1 |
1.00 |
1.10 |
gamma_p |
2.42 |
1.00 |
gamma_p_inv |
2.24 |
1.00 |
gamma_q |
2.53 |
1.00 |
gamma_q_inv |
2.45 |
1.00 |
ibeta |
2.71 |
1.00 |
ibeta_inv |
2.58 |
1.00 |
ibetac |
2.66 |
1.00 |
ibetac_inv |
2.44 |
1.00 |
jacobi_cn |
2.77 |
1.00 |
jacobi_dn |
2.80 |
1.00 |
jacobi_sn |
2.86 |
1.00 |
laguerre |
1.09 |
1.00 |
legendre |
1.16 |
1.00 |
legendre Q |
1.18 |
1.00 |
lgamma |
2.20 |
1.00 |
log1p |
1.00 |
1.00 |
polygamma |
3.93 |
1.00 |
sph_bessel |
1.71 |
1.00 |
sph_neumann |
2.15 |
1.00 |
tgamma |
3.69 |
1.00 |
tgamma (incomplete) |
2.35 |
1.00 |
trigamma |
1.64 |
1.00 |
zeta |
2.71 |
1.00 |
Table 3. Compiler Option Comparison on Windows x64
Function |
cl /Od (x86 build) |
cl /arch:sse2 /Ox (x86 build) |
cl /Ox (x64 build) |
icl /Ox (x64 build) |
---|---|---|---|---|
boost::math::cbrt |
18.29 |
4.29 |
3.14 |
1.00 |
boost::math::cyl_bessel_j (integer orders) |
10.03 |
1.77 |
1.36 |
1.00 |
boost::math::ibeta_inv |
4.32 |
1.29 |
1.28 |
1.00 |
Table 4. Distribution performance comparison for different performance options with GNU C++ version 5.3.0 on Windows x64
Function |
boost 1.61 |
Boost |
Boost |
Boost |
---|---|---|---|---|
ArcSine (CDF) |
1.06 |
1.00 |
1.06 |
1.90 |
ArcSine (PDF) |
1.12 |
1.00 |
1.00 |
1.00 |
ArcSine (quantile) |
1.00 |
1.00 |
1.02 |
1.09 |
Beta (CDF) |
2.58 |
1.40 |
1.33 |
1.00 |
Beta (PDF) |
2.18 |
1.01 |
1.05 |
1.00 |
Beta (quantile) |
2.04 |
1.29 |
1.05 |
1.00 |
Binomial (CDF) |
4.12 |
2.42 |
1.78 |
1.00 |
Binomial (PDF) |
2.47 |
1.17 |
1.20 |
1.00 |
Binomial (quantile) |
4.00 |
2.26 |
1.78 |
1.00 |
Cauchy (CDF) |
1.00 |
1.00 |
1.09 |
2.43 |
Cauchy (PDF) |
1.17 |
1.33 |
1.33 |
1.00 |
Cauchy (quantile) |
1.00 |
1.17 |
1.00 |
1.21 |
ChiSquared (CDF) |
2.65 |
1.49 |
1.24 |
1.00 |
ChiSquared (PDF) |
1.86 |
1.01 |
1.00 |
1.07 |
ChiSquared (quantile) |
2.37 |
1.44 |
1.10 |
1.00 |
Exponential (CDF) |
1.26 |
1.00 |
1.00 |
1.00 |
Exponential (PDF) |
1.07 |
1.00 |
1.05 |
1.09 |
Exponential (quantile) |
1.81 |
1.00 |
1.08 |
1.15 |
ExtremeValue (CDF) |
1.05 |
1.00 |
1.00 |
1.04 |
ExtremeValue (PDF) |
1.03 |
1.02 |
1.00 |
1.03 |
ExtremeValue (quantile) |
1.00 |
1.00 |
1.00 |
1.08 |
F (CDF) |
4.08 |
2.36 |
1.90 |
1.00 |
F (PDF) |
2.48 |
1.18 |
1.14 |
1.00 |
F (quantile) |
2.28 |
1.26 |
1.11 |
1.00 |
Gamma (CDF) |
1.98 |
1.19 |
1.11 |
1.00 |
Gamma (PDF) |
1.80 |
1.16 |
1.07 |
1.00 |
Gamma (quantile) |
2.07 |
1.40 |
1.01 |
1.00 |
Geometric (CDF) |
1.35 |
1.00 |
1.00 |
1.03 |
Geometric (PDF) |
1.06 |
1.06 |
1.04 |
1.00 |
Geometric (quantile) |
1.62 |
1.00 |
1.04 |
1.04 |
Hypergeometric (CDF) |
1.95 |
1.01 |
1.00 |
1.05 |
Hypergeometric (PDF) |
1.92 |
1.00 |
1.00 |
1.05 |
Hypergeometric (quantile) |
1.00 |
1.38 |
1.36 |
1.79 |
InverseChiSquared (CDF) |
2.98 |
1.94 |
1.34 |
1.00 |
InverseChiSquared (PDF) |
2.02 |
1.25 |
1.11 |
1.00 |
InverseChiSquared (quantile) |
2.28 |
1.69 |
1.11 |
1.00 |
InverseGamma (CDF) |
1.78 |
1.25 |
1.00 |
1.05 |
InverseGamma (PDF) |
1.89 |
1.19 |
1.20 |
1.00 |
InverseGamma (quantile) |
2.13 |
1.51 |
1.07 |
1.00 |
InverseGaussian (CDF) |
1.22 |
1.29 |
1.25 |
1.00 |
InverseGaussian (PDF) |
1.03 |
1.00 |
1.06 |
1.06 |
InverseGaussian (quantile) |
1.49 |
1.50 |
1.31 |
1.00 |
Laplace (CDF) |
1.08 |
1.04 |
1.00 |
1.15 |
Laplace (PDF) |
1.08 |
1.06 |
1.00 |
1.12 |
Laplace (quantile) |
1.11 |
1.19 |
1.00 |
1.14 |
LogNormal (CDF) |
1.32 |
1.08 |
1.00 |
1.01 |
LogNormal (PDF) |
1.00 |
1.01 |
1.02 |
1.08 |
LogNormal (quantile) |
1.24 |
1.00 |
1.03 |
1.16 |
Logistic (CDF) |
1.00 |
1.08 |
1.04 |
1.08 |
Logistic (PDF) |
1.00 |
1.00 |
1.08 |
1.04 |
Logistic (quantile) |
1.05 |
1.07 |
1.00 |
1.05 |
NegativeBinomial (CDF) |
4.75 |
2.77 |
2.08 |
1.00 |
NegativeBinomial (PDF) |
2.65 |
1.12 |
1.10 |
1.00 |
NegativeBinomial (quantile) |
2.48 |
1.45 |
1.13 |
1.00 |
NonCentralBeta (CDF) |
3.23 |
2.14 |
1.76 |
1.00 |
NonCentralBeta (PDF) |
3.24 |
2.09 |
1.96 |
1.00 |
NonCentralBeta (quantile) |
3.96 |
2.45 |
2.13 |
1.00 |
NonCentralChiSquared (CDF) |
3.92 |
2.58 |
1.99 |
1.00 |
NonCentralChiSquared (PDF) |
2.50 |
1.73 |
1.55 |
1.00 |
NonCentralChiSquared (quantile) |
6.34 |
3.39 |
2.24 |
1.00 |
NonCentralF (CDF) |
3.39 |
2.09 |
1.75 |
1.00 |
NonCentralF (PDF) |
3.07 |
1.87 |
1.61 |
1.00 |
NonCentralF (quantile) |
3.94 |
2.21 |
1.72 |
1.00 |
NonCentralT (CDF) |
3.82 |
2.44 |
2.01 |
1.00 |
NonCentralT (PDF) |
3.72 |
2.43 |
2.05 |
1.00 |
NonCentralT (quantile) |
4.76 |
2.79 |
2.03 |
1.00 |
Normal (CDF) |
1.52 |
1.00 |
1.06 |
1.06 |
Normal (PDF) |
1.10 |
1.06 |
1.00 |
1.13 |
Normal (quantile) |
1.78 |
1.00 |
1.04 |
1.08 |
Pareto (CDF) |
1.09 |
1.11 |
1.11 |
1.00 |
Pareto (PDF) |
1.00 |
1.00 |
1.03 |
1.03 |
Pareto (quantile) |
1.04 |
1.00 |
1.00 |
1.05 |
Poisson (CDF) |
2.09 |
1.28 |
1.15 |
1.00 |
Poisson (PDF) |
1.81 |
1.12 |
1.07 |
1.00 |
Poisson (quantile) |
1.98 |
1.19 |
1.07 |
1.00 |
Rayleigh (CDF) |
1.22 |
1.00 |
1.06 |
1.06 |
Rayleigh (PDF) |
1.03 |
1.00 |
1.05 |
1.03 |
Rayleigh (quantile) |
1.66 |
1.00 |
1.00 |
1.00 |
SkewNormal (CDF) |
1.38 |
1.30 |
1.37 |
1.00 |
SkewNormal (PDF) |
1.24 |
1.02 |
1.03 |
1.00 |
SkewNormal (quantile) |
1.94 |
1.77 |
1.25 |
1.00 |
StudentsT (CDF) |
2.38 |
1.27 |
1.21 |
1.00 |
StudentsT (PDF) |
2.30 |
1.08 |
1.12 |
1.00 |
StudentsT (quantile) |
2.01 |
1.19 |
1.14 |
1.00 |
Weibull (CDF) |
1.16 |
1.00 |
1.01 |
1.03 |
Weibull (PDF) |
1.02 |
1.01 |
1.00 |
1.03 |
Weibull (quantile) |
1.14 |
1.00 |
1.03 |
1.04 |
Table 5. Distribution performance comparison for different performance options with GNU C++ version 5.3.0 on linux
Function |
boost 1.61 |
Boost |
Boost |
Boost |
---|---|---|---|---|
ArcSine (CDF) |
1.74 |
1.79 |
1.79 |
1.00 |
ArcSine (PDF) |
1.29 |
1.29 |
1.29 |
1.00 |
ArcSine (quantile) |
1.24 |
1.29 |
1.24 |
1.00 |
Beta (CDF) |
3.32 |
1.38 |
1.28 |
1.00 |
Beta (PDF) |
2.93 |
1.17 |
1.15 |
1.00 |
Beta (quantile) |
3.72 |
1.55 |
1.27 |
1.00 |
Binomial (CDF) |
4.12 |
2.39 |
1.85 |
1.00 |
Binomial (PDF) |
2.58 |
1.14 |
1.13 |
1.00 |
Binomial (quantile) |
3.66 |
2.19 |
1.77 |
1.00 |
Cauchy (CDF) |
1.21 |
1.17 |
1.21 |
1.00 |
Cauchy (PDF) |
1.29 |
1.14 |
1.14 |
1.00 |
Cauchy (quantile) |
1.39 |
1.39 |
1.45 |
1.00 |
ChiSquared (CDF) |
4.01 |
1.86 |
1.53 |
1.00 |
ChiSquared (PDF) |
3.81 |
1.47 |
1.38 |
1.00 |
ChiSquared (quantile) |
3.88 |
2.00 |
1.46 |
1.00 |
Exponential (CDF) |
1.33 |
1.27 |
1.27 |
1.00 |
Exponential (PDF) |
1.53 |
1.53 |
1.59 |
1.00 |
Exponential (quantile) |
1.09 |
1.00 |
1.00 |
1.00 |
ExtremeValue (CDF) |
1.23 |
1.23 |
1.26 |
1.00 |
ExtremeValue (PDF) |
1.42 |
1.40 |
1.42 |
1.00 |
ExtremeValue (quantile) |
1.66 |
1.59 |
1.59 |
1.00 |
F (CDF) |
4.28 |
2.42 |
1.90 |
1.00 |
F (PDF) |
2.92 |
1.22 |
1.24 |
1.00 |
F (quantile) |
2.59 |
1.39 |
1.27 |
1.00 |
Gamma (CDF) |
3.60 |
1.47 |
1.33 |
1.00 |
Gamma (PDF) |
4.00 |
1.41 |
1.34 |
1.00 |
Gamma (quantile) |
4.14 |
1.81 |
1.28 |
1.00 |
Geometric (CDF) |
1.08 |
1.17 |
1.00 |
1.00 |
Geometric (PDF) |
1.00 |
1.06 |
1.03 |
1.21 |
Geometric (quantile) |
1.00 |
1.00 |
1.00 |
1.00 |
Hypergeometric (CDF) |
1.87 |
1.02 |
1.03 |
1.00 |
Hypergeometric (PDF) |
1.88 |
1.00 |
1.01 |
1.08 |
Hypergeometric (quantile) |
1.09 |
1.69 |
1.70 |
1.00 |
InverseChiSquared (CDF) |
4.55 |
2.04 |
1.52 |
1.00 |
InverseChiSquared (PDF) |
3.42 |
1.50 |
1.42 |
1.00 |
InverseChiSquared (quantile) |
3.59 |
1.93 |
1.45 |
1.00 |
InverseGamma (CDF) |
3.53 |
1.41 |
1.22 |
1.00 |
InverseGamma (PDF) |
3.94 |
1.43 |
1.33 |
1.00 |
InverseGamma (quantile) |
3.65 |
1.64 |
1.12 |
1.00 |
InverseGaussian (CDF) |
2.08 |
2.08 |
2.04 |
1.00 |
InverseGaussian (PDF) |
1.46 |
1.46 |
1.38 |
1.00 |
InverseGaussian (quantile) |
2.46 |
2.43 |
2.22 |
1.00 |
Laplace (CDF) |
1.29 |
1.29 |
1.29 |
1.00 |
Laplace (PDF) |
1.33 |
1.33 |
1.33 |
1.00 |
Laplace (quantile) |
1.39 |
1.43 |
1.39 |
1.00 |
LogNormal (CDF) |
2.02 |
1.21 |
1.21 |
1.00 |
LogNormal (PDF) |
1.43 |
1.46 |
1.43 |
1.00 |
LogNormal (quantile) |
1.39 |
1.27 |
1.30 |
1.00 |
Logistic (CDF) |
1.27 |
1.32 |
1.32 |
1.00 |
Logistic (PDF) |
1.29 |
1.33 |
1.33 |
1.00 |
Logistic (quantile) |
1.50 |
1.54 |
1.54 |
1.00 |
NegativeBinomial (CDF) |
4.48 |
2.66 |
1.98 |
1.00 |
NegativeBinomial (PDF) |
2.51 |
1.14 |
1.16 |
1.00 |
NegativeBinomial (quantile) |
2.79 |
1.60 |
1.20 |
1.00 |
NonCentralBeta (CDF) |
3.86 |
2.02 |
1.70 |
1.00 |
NonCentralBeta (PDF) |
3.99 |
2.31 |
2.04 |
1.00 |
NonCentralBeta (quantile) |
5.19 |
2.42 |
2.00 |
1.00 |
NonCentralChiSquared (CDF) |
4.22 |
2.63 |
2.03 |
1.00 |
NonCentralChiSquared (PDF) |
3.29 |
1.82 |
1.67 |
1.00 |
NonCentralChiSquared (quantile) |
7.10 |
3.72 |
2.42 |
1.00 |
NonCentralF (CDF) |
3.95 |
2.09 |
1.73 |
1.00 |
NonCentralF (PDF) |
3.91 |
2.05 |
1.83 |
1.00 |
NonCentralF (quantile) |
4.47 |
2.24 |
1.71 |
1.00 |
NonCentralT (CDF) |
4.50 |
2.77 |
2.49 |
1.00 |
NonCentralT (PDF) |
4.25 |
2.77 |
2.32 |
1.00 |
NonCentralT (quantile) |
5.46 |
3.24 |
2.26 |
1.00 |
Normal (CDF) |
2.39 |
1.06 |
1.06 |
1.00 |
Normal (PDF) |
1.43 |
1.39 |
1.43 |
1.00 |
Normal (quantile) |
1.56 |
1.21 |
1.21 |
1.00 |
Pareto (CDF) |
1.04 |
1.06 |
1.04 |
1.00 |
Pareto (PDF) |
1.01 |
1.00 |
1.02 |
1.22 |
Pareto (quantile) |
1.00 |
1.20 |
1.00 |
1.22 |
Poisson (CDF) |
3.39 |
1.69 |
1.43 |
1.00 |
Poisson (PDF) |
3.06 |
1.47 |
1.34 |
1.00 |
Poisson (quantile) |
2.97 |
1.49 |
1.29 |
1.00 |
Rayleigh (CDF) |
1.21 |
1.16 |
1.16 |
1.00 |
Rayleigh (PDF) |
1.48 |
1.29 |
1.29 |
1.00 |
Rayleigh (quantile) |
1.04 |
1.00 |
1.04 |
1.04 |
SkewNormal (CDF) |
1.68 |
1.54 |
1.52 |
1.00 |
SkewNormal (PDF) |
1.91 |
1.26 |
1.28 |
1.00 |
SkewNormal (quantile) |
2.12 |
1.98 |
1.34 |
1.00 |
StudentsT (CDF) |
6.37 |
2.02 |
1.95 |
1.00 |
StudentsT (PDF) |
5.55 |
1.53 |
1.57 |
1.00 |
StudentsT (quantile) |
4.85 |
1.60 |
1.55 |
1.00 |
Weibull (CDF) |
1.07 |
1.00 |
1.00 |
1.27 |
Weibull (PDF) |
1.01 |
1.00 |
1.01 |
1.23 |
Weibull (quantile) |
1.00 |
1.00 |
1.00 |
1.22 |
Table 6. Distribution performance comparison for different performance options with Intel C++ C++0x mode version 1600 on Windows x64
Function |
boost 1.61 |
Boost |
Boost |
---|---|---|---|
ArcSine (CDF) |
1.33 |
1.26 |
1.00 |
ArcSine (PDF) |
1.19 |
1.00 |
1.00 |
ArcSine (quantile) |
1.00 |
1.00 |
1.13 |
Beta (CDF) |
2.30 |
1.80 |
1.00 |
Beta (PDF) |
2.38 |
1.61 |
1.00 |
Beta (quantile) |
2.15 |
1.49 |
1.00 |
Binomial (CDF) |
2.66 |
1.95 |
1.00 |
Binomial (PDF) |
1.95 |
1.35 |
1.00 |
Binomial (quantile) |
2.64 |
1.90 |
1.00 |
Cauchy (CDF) |
1.28 |
1.28 |
1.00 |
Cauchy (PDF) |
1.00 |
1.00 |
1.00 |
Cauchy (quantile) |
1.23 |
1.18 |
1.00 |
ChiSquared (CDF) |
2.00 |
1.71 |
1.00 |
ChiSquared (PDF) |
1.75 |
1.37 |
1.00 |
ChiSquared (quantile) |
2.10 |
1.54 |
1.00 |
Exponential (CDF) |
1.36 |
1.00 |
1.00 |
Exponential (PDF) |
1.00 |
1.00 |
1.00 |
Exponential (quantile) |
1.24 |
1.24 |
1.00 |
ExtremeValue (CDF) |
1.00 |
1.00 |
1.04 |
ExtremeValue (PDF) |
1.08 |
1.08 |
1.00 |
ExtremeValue (quantile) |
1.32 |
1.41 |
1.00 |
F (CDF) |
2.95 |
2.10 |
1.00 |
F (PDF) |
2.33 |
1.52 |
1.00 |
F (quantile) |
1.61 |
1.24 |
1.00 |
Gamma (CDF) |
1.68 |
1.57 |
1.00 |
Gamma (PDF) |
1.81 |
1.44 |
1.00 |
Gamma (quantile) |
2.02 |
1.35 |
1.00 |
Geometric (CDF) |
1.41 |
1.18 |
1.00 |
Geometric (PDF) |
1.25 |
1.17 |
1.00 |
Geometric (quantile) |
1.22 |
1.22 |
1.00 |
Hypergeometric (CDF) |
1.01 |
1.00 |
1.03 |
Hypergeometric (PDF) |
1.01 |
1.00 |
1.05 |
Hypergeometric (quantile) |
1.01 |
1.00 |
1.01 |
InverseChiSquared (CDF) |
2.30 |
1.66 |
1.00 |
InverseChiSquared (PDF) |
2.03 |
1.55 |
1.00 |
InverseChiSquared (quantile) |
2.36 |
1.55 |
1.00 |
InverseGamma (CDF) |
1.63 |
1.42 |
1.00 |
InverseGamma (PDF) |
1.87 |
1.50 |
1.00 |
InverseGamma (quantile) |
1.93 |
1.38 |
1.00 |
InverseGaussian (CDF) |
1.36 |
1.38 |
1.00 |
InverseGaussian (PDF) |
1.18 |
1.09 |
1.00 |
InverseGaussian (quantile) |
1.53 |
1.44 |
1.00 |
Laplace (CDF) |
1.00 |
1.00 |
1.13 |
Laplace (PDF) |
1.00 |
1.00 |
1.00 |
Laplace (quantile) |
1.06 |
1.06 |
1.00 |
LogNormal (CDF) |
1.20 |
1.20 |
1.00 |
LogNormal (PDF) |
1.28 |
1.28 |
1.00 |
LogNormal (quantile) |
1.15 |
1.15 |
1.00 |
Logistic (CDF) |
1.06 |
1.06 |
1.00 |
Logistic (PDF) |
1.11 |
1.11 |
1.00 |
Logistic (quantile) |
1.25 |
1.19 |
1.00 |
NegativeBinomial (CDF) |
3.21 |
2.29 |
1.00 |
NegativeBinomial (PDF) |
1.97 |
1.37 |
1.00 |
NegativeBinomial (quantile) |
1.80 |
1.32 |
1.00 |
NonCentralBeta (CDF) |
2.73 |
2.14 |
1.00 |
NonCentralBeta (PDF) |
2.73 |
2.17 |
1.00 |
NonCentralBeta (quantile) |
3.43 |
2.58 |
1.00 |
NonCentralChiSquared (CDF) |
2.79 |
2.20 |
1.00 |
NonCentralChiSquared (PDF) |
1.78 |
1.59 |
1.00 |
NonCentralChiSquared (quantile) |
3.85 |
2.65 |
1.00 |
NonCentralF (CDF) |
2.75 |
2.01 |
1.00 |
NonCentralF (PDF) |
2.64 |
1.92 |
1.00 |
NonCentralF (quantile) |
3.08 |
2.14 |
1.00 |
NonCentralT (CDF) |
2.86 |
2.22 |
1.00 |
NonCentralT (PDF) |
2.84 |
2.26 |
1.00 |
NonCentralT (quantile) |
3.48 |
2.47 |
1.00 |
Normal (CDF) |
1.07 |
1.07 |
1.00 |
Normal (PDF) |
1.00 |
1.00 |
1.00 |
Normal (quantile) |
1.17 |
1.11 |
1.00 |
Pareto (CDF) |
1.32 |
1.32 |
1.00 |
Pareto (PDF) |
1.24 |
1.26 |
1.00 |
Pareto (quantile) |
1.07 |
1.07 |
1.00 |
Poisson (CDF) |
1.71 |
1.41 |
1.00 |
Poisson (PDF) |
1.69 |
1.44 |
1.00 |
Poisson (quantile) |
1.54 |
1.33 |
1.00 |
Rayleigh (CDF) |
1.41 |
1.06 |
1.00 |
Rayleigh (PDF) |
1.17 |
1.17 |
1.00 |
Rayleigh (quantile) |
1.22 |
1.22 |
1.00 |
SkewNormal (CDF) |
1.01 |
1.00 |
1.01 |
SkewNormal (PDF) |
1.04 |
1.06 |
1.00 |
SkewNormal (quantile) |
1.44 |
1.10 |
1.00 |
StudentsT (CDF) |
1.72 |
1.57 |
1.00 |
StudentsT (PDF) |
1.57 |
1.55 |
1.00 |
StudentsT (quantile) |
1.40 |
1.39 |
1.00 |
Weibull (CDF) |
1.39 |
1.24 |
1.00 |
Weibull (PDF) |
1.50 |
1.40 |
1.00 |
Weibull (quantile) |
1.29 |
1.29 |
1.00 |
Table 7. Distribution performance comparison for different performance options with Microsoft Visual C++ version 14.0 on Windows x64
Function |
boost 1.61 |
Boost |
Boost |
---|---|---|---|
ArcSine (CDF) |
1.36 |
1.45 |
1.00 |
ArcSine (PDF) |
1.00 |
1.13 |
1.06 |
ArcSine (quantile) |
1.00 |
1.05 |
1.38 |
Beta (CDF) |
1.87 |
1.71 |
1.00 |
Beta (PDF) |
1.64 |
1.70 |
1.00 |
Beta (quantile) |
1.80 |
1.43 |
1.00 |
Binomial (CDF) |
2.32 |
1.95 |
1.00 |
Binomial (PDF) |
1.63 |
1.73 |
1.00 |
Binomial (quantile) |
2.28 |
1.82 |
1.00 |
Cauchy (CDF) |
1.14 |
1.14 |
1.00 |
Cauchy (PDF) |
1.10 |
1.10 |
1.00 |
Cauchy (quantile) |
1.10 |
1.05 |
1.00 |
ChiSquared (CDF) |
1.60 |
1.38 |
1.00 |
ChiSquared (PDF) |
1.95 |
1.89 |
1.00 |
ChiSquared (quantile) |
1.98 |
1.47 |
1.00 |
Exponential (CDF) |
1.18 |
1.06 |
1.00 |
Exponential (PDF) |
1.00 |
1.06 |
1.31 |
Exponential (quantile) |
1.26 |
1.00 |
1.26 |
ExtremeValue (CDF) |
1.29 |
1.26 |
1.00 |
ExtremeValue (PDF) |
1.26 |
1.37 |
1.00 |
ExtremeValue (quantile) |
1.24 |
1.21 |
1.00 |
F (CDF) |
2.43 |
1.95 |
1.00 |
F (PDF) |
1.74 |
1.69 |
1.00 |
F (quantile) |
1.31 |
1.34 |
1.00 |
Gamma (CDF) |
2.00 |
1.47 |
1.00 |
Gamma (PDF) |
1.71 |
1.57 |
1.00 |
Gamma (quantile) |
1.67 |
1.17 |
1.00 |
Geometric (CDF) |
1.24 |
1.19 |
1.00 |
Geometric (PDF) |
1.61 |
1.72 |
1.00 |
Geometric (quantile) |
1.14 |
1.09 |
1.00 |
Hypergeometric (CDF) |
1.05 |
1.04 |
1.00 |
Hypergeometric (PDF) |
1.00 |
1.04 |
1.03 |
Hypergeometric (quantile) |
1.00 |
1.12 |
1.00 |
InverseChiSquared (CDF) |
2.26 |
1.84 |
1.00 |
InverseChiSquared (PDF) |
1.90 |
1.71 |
1.00 |
InverseChiSquared (quantile) |
1.55 |
1.17 |
1.00 |
InverseGamma (CDF) |
1.85 |
1.44 |
1.00 |
InverseGamma (PDF) |
2.52 |
1.85 |
1.00 |
InverseGamma (quantile) |
2.34 |
1.41 |
1.00 |
InverseGaussian (CDF) |
1.05 |
1.03 |
1.00 |
InverseGaussian (PDF) |
1.00 |
1.00 |
1.06 |
InverseGaussian (quantile) |
1.28 |
1.19 |
1.00 |
Laplace (CDF) |
1.22 |
1.22 |
1.00 |
Laplace (PDF) |
1.44 |
1.50 |
1.00 |
Laplace (quantile) |
1.22 |
1.22 |
1.00 |
LogNormal (CDF) |
1.26 |
1.26 |
1.00 |
LogNormal (PDF) |
1.16 |
1.14 |
1.00 |
LogNormal (quantile) |
1.30 |
1.30 |
1.00 |
Logistic (CDF) |
1.50 |
1.50 |
1.00 |
Logistic (PDF) |
1.26 |
1.26 |
1.00 |
Logistic (quantile) |
1.11 |
1.05 |
1.00 |
NegativeBinomial (CDF) |
2.62 |
2.02 |
1.00 |
NegativeBinomial (PDF) |
1.67 |
1.71 |
1.00 |
NegativeBinomial (quantile) |
1.53 |
1.22 |
1.00 |
NonCentralBeta (CDF) |
2.67 |
2.23 |
1.00 |
NonCentralBeta (PDF) |
2.64 |
2.24 |
1.00 |
NonCentralBeta (quantile) |
3.39 |
2.81 |
1.00 |
NonCentralChiSquared (CDF) |
2.78 |
2.19 |
1.00 |
NonCentralChiSquared (PDF) |
1.73 |
1.58 |
1.00 |
NonCentralChiSquared (quantile) |
3.89 |
2.60 |
1.00 |
NonCentralF (CDF) |
2.45 |
2.07 |
1.00 |
NonCentralF (PDF) |
2.43 |
2.13 |
1.00 |
NonCentralF (quantile) |
2.76 |
2.18 |
1.00 |
NonCentralT (CDF) |
2.26 |
1.84 |
1.00 |
NonCentralT (PDF) |
2.53 |
2.11 |
1.00 |
NonCentralT (quantile) |
2.91 |
2.10 |
1.00 |
Normal (CDF) |
1.52 |
1.44 |
1.00 |
Normal (PDF) |
1.16 |
1.16 |
1.00 |
Normal (quantile) |
1.08 |
1.14 |
1.00 |
Pareto (CDF) |
1.60 |
1.67 |
1.00 |
Pareto (PDF) |
1.44 |
1.40 |
1.00 |
Pareto (quantile) |
1.34 |
1.38 |
1.00 |
Poisson (CDF) |
1.72 |
1.51 |
1.00 |
Poisson (PDF) |
1.91 |
1.88 |
1.00 |
Poisson (quantile) |
1.65 |
1.47 |
1.00 |
Rayleigh (CDF) |
1.28 |
1.17 |
1.00 |
Rayleigh (PDF) |
1.24 |
1.24 |
1.00 |
Rayleigh (quantile) |
1.08 |
1.08 |
1.00 |
SkewNormal (CDF) |
1.05 |
1.04 |
1.00 |
SkewNormal (PDF) |
1.21 |
1.21 |
1.00 |
SkewNormal (quantile) |
1.45 |
1.05 |
1.00 |
StudentsT (CDF) |
1.95 |
1.95 |
1.00 |
StudentsT (PDF) |
1.95 |
2.17 |
1.00 |
StudentsT (quantile) |
1.72 |
1.78 |
1.00 |
Weibull (CDF) |
1.53 |
1.47 |
1.00 |
Weibull (PDF) |
1.82 |
1.79 |
1.00 |
Weibull (quantile) |
1.49 |
1.53 |
1.00 |
Table 8. Distribution performance comparison with GNU C++ version 5.3.0 on Windows x64
Function |
boost 1.61 |
Boost |
DCDFLIB |
---|---|---|---|
ArcSine (CDF) |
1.06 |
1.00 |
|
ArcSine (PDF) |
1.12 |
1.00 |
|
ArcSine (quantile) |
1.00 |
1.00 |
|
Beta (CDF) |
1.84 |
1.00 |
2.55 |
Beta (PDF) |
2.15 |
1.00 |
|
Beta (quantile) |
1.58 |
1.00 |
8.32 |
Binomial (CDF) |
1.71 |
1.00 |
1.25 |
Binomial (PDF) |
2.11 |
1.00 |
|
Binomial (quantile) |
1.77 |
1.00 |
4.38 |
Cauchy (CDF) |
1.00 |
1.00 |
|
Cauchy (PDF) |
1.00 |
1.14 |
|
Cauchy (quantile) |
1.00 |
1.17 |
|
ChiSquared (CDF) |
2.04 |
1.15 |
1.00 |
ChiSquared (PDF) |
1.83 |
1.00 |
|
ChiSquared (quantile) |
1.65 |
1.00 |
7.13 |
Exponential (CDF) |
1.26 |
1.00 |
|
Exponential (PDF) |
1.07 |
1.00 |
|
Exponential (quantile) |
1.81 |
1.00 |
|
ExtremeValue (CDF) |
1.05 |
1.00 |
|
ExtremeValue (PDF) |
1.01 |
1.00 |
|
ExtremeValue (quantile) |
1.00 |
1.00 |
|
F (CDF) |
1.73 |
1.00 |
1.31 |
F (PDF) |
2.10 |
1.00 |
|
F (quantile) |
1.82 |
1.00 |
6.08 |
Gamma (CDF) |
2.00 |
1.20 |
1.00 |
Gamma (PDF) |
1.55 |
1.00 |
|
Gamma (quantile) |
1.95 |
1.31 |
1.00 |
Geometric (CDF) |
1.35 |
1.00 |
|
Geometric (PDF) |
1.00 |
1.00 |
|
Geometric (quantile) |
1.62 |
1.00 |
|
Hypergeometric (CDF) |
1.94 |
1.00 |
|
Hypergeometric (PDF) |
1.92 |
1.00 |
|
Hypergeometric (quantile) |
1.00 |
1.38 |
|
InverseChiSquared (CDF) |
1.53 |
1.00 |
|
InverseChiSquared (PDF) |
1.61 |
1.00 |
|
InverseChiSquared (quantile) |
1.35 |
1.00 |
|
InverseGamma (CDF) |
1.43 |
1.00 |
|
InverseGamma (PDF) |
1.58 |
1.00 |
|
InverseGamma (quantile) |
1.41 |
1.00 |
|
InverseGaussian (CDF) |
1.00 |
1.06 |
|
InverseGaussian (PDF) |
1.03 |
1.00 |
|
InverseGaussian (quantile) |
1.00 |
1.01 |
|
Laplace (CDF) |
1.04 |
1.00 |
|
Laplace (PDF) |
1.02 |
1.00 |
|
Laplace (quantile) |
1.00 |
1.07 |
|
LogNormal (CDF) |
1.22 |
1.00 |
|
LogNormal (PDF) |
1.00 |
1.01 |
|
LogNormal (quantile) |
1.24 |
1.00 |
|
Logistic (CDF) |
1.00 |
1.08 |
|
Logistic (PDF) |
1.00 |
1.00 |
|
Logistic (quantile) |
1.00 |
1.02 |
|
NegativeBinomial (CDF) |
2.04 |
1.19 |
1.00 |
NegativeBinomial (PDF) |
2.38 |
1.00 |
|
NegativeBinomial (quantile) |
1.71 |
1.00 |
3.36 |
NonCentralBeta (CDF) |
1.51 |
1.00 |
|
NonCentralBeta (PDF) |
1.55 |
1.00 |
|
NonCentralBeta (quantile) |
1.62 |
1.00 |
|
NonCentralChiSquared (CDF) |
9.45 |
6.21 |
1.00 |
NonCentralChiSquared (PDF) |
1.44 |
1.00 |
|
NonCentralChiSquared (quantile) |
3.26 |
1.74 |
1.00 |
NonCentralF (CDF) |
1.62 |
1.00 |
1.23 |
NonCentralF (PDF) |
1.64 |
1.00 |
|
NonCentralF (quantile) |
1.78 |
1.00 |
1.00 |
NonCentralT (CDF) |
2.36 |
1.51 |
1.00 |
NonCentralT (PDF) |
1.53 |
1.00 |
|
NonCentralT (quantile) |
1.71 |
1.00 |
1.05 |
Normal (CDF) |
1.52 |
1.00 |
4.62 |
Normal (PDF) |
1.04 |
1.00 |
|
Normal (quantile) |
1.78 |
1.00 |
12.96 |
Pareto (CDF) |
1.00 |
1.02 |
|
Pareto (PDF) |
1.00 |
1.00 |
|
Pareto (quantile) |
1.04 |
1.00 |
|
Poisson (CDF) |
1.64 |
1.00 |
1.66 |
Poisson (PDF) |
1.62 |
1.00 |
|
Poisson (quantile) |
1.67 |
1.00 |
4.63 |
Rayleigh (CDF) |
1.22 |
1.00 |
|
Rayleigh (PDF) |
1.03 |
1.00 |
|
Rayleigh (quantile) |
1.66 |
1.00 |
|
SkewNormal (CDF) |
1.06 |
1.00 |
|
SkewNormal (PDF) |
1.22 |
1.00 |
|
SkewNormal (quantile) |
1.10 |
1.00 |
|
StudentsT (CDF) |
1.88 |
1.00 |
1.16 |
StudentsT (PDF) |
2.13 |
1.00 |
|
StudentsT (quantile) |
1.69 |
1.00 |
4.26 |
Weibull (CDF) |
1.16 |
1.00 |
|
Weibull (PDF) |
1.01 |
1.00 |
|
Weibull (quantile) |
1.14 |
1.00 |
Table 9. Distribution performance comparison with GNU C++ version 5.3.0 on linux
Function |
boost 1.61 |
Boost |
GSL |
Rmath 3.0.2 |
DCDFLIB |
---|---|---|---|---|---|
ArcSine (CDF) |
1.00 |
1.03 |
|||
ArcSine (PDF) |
1.00 |
1.00 |
|||
ArcSine (quantile) |
1.00 |
1.05 |
|||
Beta (CDF) |
2.40 |
1.00 |
2.66 |
1.64 |
2.39 |
Beta (PDF) |
2.52 |
1.00 |
- |
1.71 |
|
Beta (quantile) |
2.40 |
1.00 |
13.48 |
15.15 |
7.43 |
Binomial (CDF) |
1.72 |
1.00 |
1.40 |
1.17 |
1.23 |
Binomial (PDF) |
2.25 |
1.00 |
- |
1.07 |
|
Binomial (quantile) |
2.47 |
1.48 |
- |
1.00 |
6.21 |
Cauchy (CDF) |
1.38 |
1.33 |
1.00 |
1.81 |
|
Cauchy (PDF) |
1.12 |
1.00 |
- |
1.50 |
|
Cauchy (quantile) |
1.00 |
1.00 |
59.65 |
59.21 |
|
ChiSquared (CDF) |
2.28 |
1.06 |
16.73 |
1.23 |
1.00 |
ChiSquared (PDF) |
3.20 |
1.24 |
- |
1.00 |
|
ChiSquared (quantile) |
1.94 |
1.00 |
51.52 |
2.26 |
7.71 |
Exponential (CDF) |
1.05 |
1.00 |
1.21 |
1.53 |
|
Exponential (PDF) |
1.00 |
1.00 |
- |
1.27 |
|
Exponential (quantile) |
1.56 |
1.44 |
1.00 |
1.44 |
|
ExtremeValue (CDF) |
1.00 |
1.00 |
|||
ExtremeValue (PDF) |
1.01 |
1.00 |
|||
ExtremeValue (quantile) |
1.05 |
1.00 |
|||
F (CDF) |
1.77 |
1.00 |
1.59 |
1.13 |
1.10 |
F (PDF) |
2.39 |
1.00 |
- |
1.12 |
|
F (quantile) |
1.86 |
1.00 |
9.67 |
1.98 |
5.85 |
Gamma (CDF) |
2.48 |
1.01 |
6.12 |
1.40 |
1.00 |
Gamma (PDF) |
2.91 |
1.02 |
- |
1.00 |
|
Gamma (quantile) |
2.29 |
1.00 |
13.93 |
2.13 |
1.03 |
Geometric (CDF) |
1.00 |
1.08 |
1.00 |
2.08 |
|
Geometric (PDF) |
1.00 |
1.06 |
- |
7.15 |
|
Geometric (quantile) |
1.00 |
1.00 |
- |
2.18 |
|
Hypergeometric (CDF) |
12.07 |
6.58 |
1.61 |
1.00 |
|
Hypergeometric (PDF) |
25.41 |
13.51 |
- |
1.00 |
|
Hypergeometric (quantile) |
1.00 |
1.54 |
- |
1.60 |
|
InverseChiSquared (CDF) |
2.23 |
1.00 |
|||
InverseChiSquared (PDF) |
2.28 |
1.00 |
|||
InverseChiSquared (quantile) |
1.86 |
1.00 |
|||
InverseGamma (CDF) |
2.50 |
1.00 |
|||
InverseGamma (PDF) |
2.76 |
1.00 |
|||
InverseGamma (quantile) |
2.23 |
1.00 |
|||
InverseGaussian (CDF) |
1.00 |
1.00 |
|||
InverseGaussian (PDF) |
1.00 |
1.00 |
|||
InverseGaussian (quantile) |
1.01 |
1.00 |
|||
Laplace (CDF) |
1.35 |
1.35 |
1.00 |
||
Laplace (PDF) |
1.00 |
1.00 |
|||
Laplace (quantile) |
1.14 |
1.18 |
1.00 |
||
LogNormal (CDF) |
1.67 |
1.00 |
1.13 |
1.46 |
|
LogNormal (PDF) |
1.00 |
1.02 |
- |
1.08 |
|
LogNormal (quantile) |
1.45 |
1.32 |
1.00 |
1.32 |
|
Logistic (CDF) |
1.00 |
1.04 |
1.04 |
1.25 |
|
Logistic (PDF) |
1.00 |
1.03 |
- |
1.03 |
|
Logistic (quantile) |
1.09 |
1.12 |
1.00 |
1.27 |
|
NegativeBinomial (CDF) |
2.08 |
1.23 |
1.58 |
1.10 |
1.00 |
NegativeBinomial (PDF) |
2.19 |
1.00 |
- |
1.12 |
|
NegativeBinomial (quantile) |
1.74 |
1.00 |
- |
3.35 |
3.01 |
NonCentralBeta (CDF) |
2.25 |
1.18 |
- |
1.00 |
|
NonCentralBeta (PDF) |
2.13 |
1.23 |
- |
1.00 |
|
NonCentralBeta (quantile) |
2.15 |
1.00 |
- |
2.89 |
|
NonCentralChiSquared (CDF) |
10.17 |
6.32 |
- |
15.17 |
1.00 |
NonCentralChiSquared (PDF) |
2.81 |
1.55 |
- |
1.00 |
|
NonCentralChiSquared (quantile) |
3.29 |
1.72 |
- |
34.31 |
1.00 |
NonCentralF (CDF) |
1.96 |
1.04 |
- |
1.00 |
1.15 |
NonCentralF (PDF) |
2.39 |
1.25 |
- |
1.00 |
|
NonCentralF (quantile) |
2.30 |
1.15 |
- |
4.06 |
1.00 |
NonCentralT (CDF) |
5.04 |
3.10 |
- |
1.00 |
1.84 |
NonCentralT (PDF) |
1.82 |
1.19 |
- |
1.00 |
|
NonCentralT (quantile) |
1.88 |
1.12 |
- |
1.70 |
1.00 |
Normal (CDF) |
2.55 |
1.13 |
1.00 |
2.06 |
6.61 |
Normal (PDF) |
1.03 |
1.00 |
- |
1.25 |
|
Normal (quantile) |
2.03 |
1.58 |
1.00 |
1.36 |
17.58 |
Pareto (CDF) |
1.00 |
1.02 |
1.21 |
||
Pareto (PDF) |
1.01 |
1.00 |
|||
Pareto (quantile) |
1.04 |
1.25 |
1.00 |
||
Poisson (CDF) |
2.01 |
1.00 |
5.84 |
2.22 |
1.68 |
Poisson (PDF) |
2.09 |
1.00 |
- |
1.01 |
|
Poisson (quantile) |
1.99 |
1.00 |
- |
1.21 |
5.51 |
Rayleigh (CDF) |
1.10 |
1.05 |
1.00 |
||
Rayleigh (PDF) |
1.15 |
1.00 |
|||
Rayleigh (quantile) |
1.25 |
1.20 |
1.00 |
||
SkewNormal (CDF) |
1.09 |
1.00 |
|||
SkewNormal (PDF) |
1.53 |
1.00 |
|||
SkewNormal (quantile) |
1.07 |
1.00 |
|||
StudentsT (CDF) |
5.72 |
1.82 |
1.00 |
1.42 |
1.68 |
StudentsT (PDF) |
5.23 |
1.45 |
- |
1.00 |
|
StudentsT (quantile) |
3.04 |
1.00 |
1.37 |
1.16 |
4.48 |
Weibull (CDF) |
1.07 |
1.00 |
1.00 |
1.19 |
|
Weibull (PDF) |
1.48 |
1.47 |
- |
1.00 |
|
Weibull (quantile) |
1.00 |
1.00 |
1.16 |
1.08 |
Table 10. Distribution performance comparison with Intel C++ C++0x mode version 1600 on Windows x64
Function |
boost 1.61 |
DCDFLIB |
---|---|---|
ArcSine (CDF) |
1.00 |
|
ArcSine (PDF) |
1.00 |
|
ArcSine (quantile) |
1.00 |
|
Beta (CDF) |
1.00 |
1.61 |
Beta (PDF) |
1.00 |
|
Beta (quantile) |
1.00 |
6.36 |
Binomial (CDF) |
1.05 |
1.00 |
Binomial (PDF) |
1.00 |
|
Binomial (quantile) |
1.00 |
3.10 |
Cauchy (CDF) |
1.00 |
|
Cauchy (PDF) |
1.00 |
|
Cauchy (quantile) |
1.00 |
|
ChiSquared (CDF) |
1.57 |
1.00 |
ChiSquared (PDF) |
1.00 |
|
ChiSquared (quantile) |
1.00 |
5.60 |
Exponential (CDF) |
1.00 |
|
Exponential (PDF) |
1.00 |
|
Exponential (quantile) |
1.00 |
|
ExtremeValue (CDF) |
1.00 |
|
ExtremeValue (PDF) |
1.00 |
|
ExtremeValue (quantile) |
1.00 |
|
F (CDF) |
1.03 |
1.00 |
F (PDF) |
1.00 |
|
F (quantile) |
1.00 |
6.54 |
Gamma (CDF) |
1.14 |
1.00 |
Gamma (PDF) |
1.00 |
|
Gamma (quantile) |
1.16 |
1.00 |
Geometric (CDF) |
1.00 |
|
Geometric (PDF) |
1.00 |
|
Geometric (quantile) |
1.00 |
|
Hypergeometric (CDF) |
1.00 |
|
Hypergeometric (PDF) |
1.00 |
|
Hypergeometric (quantile) |
1.00 |
|
InverseChiSquared (CDF) |
1.00 |
|
InverseChiSquared (PDF) |
1.00 |
|
InverseChiSquared (quantile) |
1.00 |
|
InverseGamma (CDF) |
1.00 |
|
InverseGamma (PDF) |
1.00 |
|
InverseGamma (quantile) |
1.00 |
|
InverseGaussian (CDF) |
1.00 |
|
InverseGaussian (PDF) |
1.00 |
|
InverseGaussian (quantile) |
1.00 |
|
Laplace (CDF) |
1.00 |
|
Laplace (PDF) |
1.00 |
|
Laplace (quantile) |
1.00 |
|
LogNormal (CDF) |
1.00 |
|
LogNormal (PDF) |
1.00 |
|
LogNormal (quantile) |
1.00 |
|
Logistic (CDF) |
1.00 |
|
Logistic (PDF) |
1.00 |
|
Logistic (quantile) |
1.00 |
|
NegativeBinomial (CDF) |
1.19 |
1.00 |
NegativeBinomial (PDF) |
1.00 |
|
NegativeBinomial (quantile) |
1.00 |
2.74 |
NonCentralBeta (CDF) |
1.00 |
|
NonCentralBeta (PDF) |
1.00 |
|
NonCentralBeta (quantile) |
1.00 |
|
NonCentralChiSquared (CDF) |
9.46 |
1.00 |
NonCentralChiSquared (PDF) |
1.00 |
|
NonCentralChiSquared (quantile) |
2.41 |
1.00 |
NonCentralF (CDF) |
1.17 |
1.00 |
NonCentralF (PDF) |
1.00 |
|
NonCentralF (quantile) |
1.53 |
1.00 |
NonCentralT (CDF) |
1.83 |
1.00 |
NonCentralT (PDF) |
1.00 |
|
NonCentralT (quantile) |
1.17 |
1.00 |
Normal (CDF) |
1.00 |
3.55 |
Normal (PDF) |
1.00 |
|
Normal (quantile) |
1.00 |
7.36 |
Pareto (CDF) |
1.00 |
|
Pareto (PDF) |
1.00 |
|
Pareto (quantile) |
1.00 |
|
Poisson (CDF) |
1.00 |
1.41 |
Poisson (PDF) |
1.00 |
|
Poisson (quantile) |
1.00 |
4.68 |
Rayleigh (CDF) |
1.00 |
|
Rayleigh (PDF) |
1.00 |
|
Rayleigh (quantile) |
1.00 |
|
SkewNormal (CDF) |
1.00 |
|
SkewNormal (PDF) |
1.00 |
|
SkewNormal (quantile) |
1.00 |
|
StudentsT (CDF) |
1.22 |
1.00 |
StudentsT (PDF) |
1.00 |
|
StudentsT (quantile) |
1.00 |
3.66 |
Weibull (CDF) |
1.00 |
|
Weibull (PDF) |
1.00 |
|
Weibull (quantile) |
1.00 |
Table 11. Distribution performance comparison with Microsoft Visual C++ version 14.0 on Windows x64
Function |
boost 1.61 |
DCDFLIB |
---|---|---|
ArcSine (CDF) |
1.00 |
- |
ArcSine (PDF) |
1.00 |
- |
ArcSine (quantile) |
1.00 |
- |
Beta (CDF) |
1.00 |
1.90 |
Beta (PDF) |
1.00 |
- |
Beta (quantile) |
1.00 |
6.95 |
Binomial (CDF) |
1.00 |
1.11 |
Binomial (PDF) |
1.00 |
- |
Binomial (quantile) |
1.00 |
3.63 |
Cauchy (CDF) |
1.00 |
- |
Cauchy (PDF) |
1.00 |
- |
Cauchy (quantile) |
1.00 |
- |
ChiSquared (CDF) |
1.35 |
1.00 |
ChiSquared (PDF) |
1.00 |
- |
ChiSquared (quantile) |
1.00 |
6.19 |
Exponential (CDF) |
1.00 |
- |
Exponential (PDF) |
1.00 |
- |
Exponential (quantile) |
1.00 |
- |
ExtremeValue (CDF) |
1.00 |
- |
ExtremeValue (PDF) |
1.00 |
- |
ExtremeValue (quantile) |
1.00 |
- |
F (CDF) |
1.08 |
1.00 |
F (PDF) |
1.00 |
- |
F (quantile) |
1.00 |
5.89 |
Gamma (CDF) |
1.40 |
1.00 |
Gamma (PDF) |
1.00 |
- |
Gamma (quantile) |
1.18 |
1.00 |
Geometric (CDF) |
1.00 |
- |
Geometric (PDF) |
1.00 |
- |
Geometric (quantile) |
1.00 |
- |
Hypergeometric (CDF) |
1.00 |
- |
Hypergeometric (PDF) |
1.00 |
- |
Hypergeometric (quantile) |
1.00 |
- |
InverseChiSquared (CDF) |
1.00 |
- |
InverseChiSquared (PDF) |
1.00 |
- |
InverseChiSquared (quantile) |
1.00 |
- |
InverseGamma (CDF) |
1.00 |
- |
InverseGamma (PDF) |
1.00 |
- |
InverseGamma (quantile) |
1.00 |
- |
InverseGaussian (CDF) |
1.00 |
- |
InverseGaussian (PDF) |
1.00 |
- |
InverseGaussian (quantile) |
1.00 |
- |
Laplace (CDF) |
1.00 |
- |
Laplace (PDF) |
1.00 |
- |
Laplace (quantile) |
1.00 |
- |
LogNormal (CDF) |
1.00 |
- |
LogNormal (PDF) |
1.00 |
- |
LogNormal (quantile) |
1.00 |
- |
Logistic (CDF) |
1.00 |
- |
Logistic (PDF) |
1.00 |
- |
Logistic (quantile) |
1.00 |
- |
NegativeBinomial (CDF) |
1.34 |
1.00 |
NegativeBinomial (PDF) |
1.00 |
- |
NegativeBinomial (quantile) |
1.00 |
2.84 |
NonCentralBeta (CDF) |
1.00 |
- |
NonCentralBeta (PDF) |
1.00 |
- |
NonCentralBeta (quantile) |
1.00 |
- |
NonCentralChiSquared (CDF) |
9.20 |
1.00 |
NonCentralChiSquared (PDF) |
1.00 |
- |
NonCentralChiSquared (quantile) |
2.34 |
1.00 |
NonCentralF (CDF) |
1.22 |
1.00 |
NonCentralF (PDF) |
1.00 |
- |
NonCentralF (quantile) |
1.21 |
1.00 |
NonCentralT (CDF) |
2.15 |
1.00 |
NonCentralT (PDF) |
1.00 |
- |
NonCentralT (quantile) |
1.23 |
1.00 |
Normal (CDF) |
1.00 |
4.16 |
Normal (PDF) |
1.00 |
- |
Normal (quantile) |
1.00 |
10.22 |
Pareto (CDF) |
1.00 |
- |
Pareto (PDF) |
1.00 |
- |
Pareto (quantile) |
1.00 |
- |
Poisson (CDF) |
1.00 |
1.48 |
Poisson (PDF) |
1.00 |
- |
Poisson (quantile) |
1.00 |
4.63 |
Rayleigh (CDF) |
1.00 |
- |
Rayleigh (PDF) |
1.00 |
- |
Rayleigh (quantile) |
1.00 |
- |
SkewNormal (CDF) |
1.00 |
- |
SkewNormal (PDF) |
1.00 |
- |
SkewNormal (quantile) |
1.00 |
- |
StudentsT (CDF) |
1.15 |
1.00 |
StudentsT (PDF) |
1.00 |
- |
StudentsT (quantile) |
1.00 |
3.80 |
Weibull (CDF) |
1.00 |
- |
Weibull (PDF) |
1.00 |
- |
Weibull (quantile) |
1.00 |
- |
Table 12. Library Comparison with GNU C++ version 5.3.0 on Windows x64
Function |
boost 1.61 |
boost 1.61 |
tr1/cmath |
math.h |
---|---|---|---|---|
assoc_laguerre |
1.14 |
1.00 |
1.19 |
|
assoc_legendre |
- |
- |
1.00 |
|
beta |
2.15 |
1.23 |
1.00 |
|
cbrt |
1.12 |
1.00 |
1.33 |
1.33 |
cyl_bessel_i (integer order) |
2.73 |
1.06 |
1.00 |
- |
cyl_bessel_i |
4.73 |
2.06 |
1.00 |
- |
cyl_bessel_j (integer order) |
1.62 |
1.00 |
2.55 |
1.75 |
cyl_bessel_j |
2.07 |
1.26 |
1.00 |
- |
cyl_bessel_k (integer order) |
9.52 |
1.00 |
7.50 |
- |
cyl_bessel_k |
9.19 |
1.00 |
4.20 |
- |
cyl_neumann (integer order) |
2.76 |
1.91 |
4.76 |
1.00 |
cyl_neumann |
2.01 |
1.00 |
1.15 |
- |
ellint_1 (complete) |
1.64 |
1.00 |
5.36 |
- |
ellint_1 |
1.51 |
1.00 |
2.01 |
- |
ellint_2 (complete) |
1.67 |
1.00 |
14.81 |
- |
ellint_2 |
1.43 |
1.00 |
1.57 |
- |
ellint_3 (complete) |
2.10 |
1.00 |
1.63 |
- |
ellint_3 |
1.76 |
1.00 |
1.27 |
- |
erf |
1.00 |
- |
1.60 |
1.60 |
erfc |
1.66 |
1.00 |
1.74 |
1.69 |
expint |
1.43 |
1.00 |
3.67 |
- |
expm1 |
1.48 |
1.14 |
1.05 |
1.00 |
laguerre |
1.10 |
1.00 |
1.25 |
- |
legendre |
1.16 |
1.00 |
1.11 |
- |
lgamma |
3.80 |
2.25 |
1.02 |
1.00 |
log1p |
1.75 |
1.00 |
1.69 |
1.69 |
sph_bessel |
1.42 |
1.00 |
2.02 |
- |
sph_neumann |
2.07 |
1.00 |
1.64 |
- |
tgamma |
3.31 |
2.04 |
1.00 |
1.01 |
zeta |
1.52 |
1.00 |
781.92 |
- |
Table 13. Library Comparison with GNU C++ version 5.3.0 on linux
Function |
boost 1.61 |
boost 1.61 |
tr1/cmath |
GSL 1.16 |
Rmath 3.0.2 |
math.h |
---|---|---|---|---|---|---|
assoc_laguerre |
1.36 |
1.00 |
1.20 |
1.12 |
- |
- |
assoc_legendre |
4.16 |
1.63 |
1.00 |
2.53 |
- |
- |
beta (incomplete) |
3.12 |
1.00 |
- |
1.36 |
- |
- |
beta |
4.74 |
1.01 |
1.00 |
2.57 |
1.65 |
- |
cbrt |
2.53 |
1.00 |
1.24 |
- |
- |
1.24 |
cyl_bessel_i (integer order) |
3.66 |
1.08 |
1.00 |
1.98 |
4.69 |
|
cyl_bessel_i |
6.78 |
1.95 |
1.00 |
4.47 |
8.16 |
- |
cyl_bessel_j (integer order) |
2.59 |
1.00 |
2.50 |
2.52 |
4.22 |
1.94 |
cyl_bessel_j |
2.83 |
1.05 |
1.00 |
2.28 |
1.20 |
- |
cyl_bessel_k (integer order) |
13.91 |
1.37 |
10.34 |
1.00 |
1.34 |
- |
cyl_bessel_k |
6.86 |
1.00 |
1.20 |
1.31 |
1.27 |
- |
cyl_neumann (integer order) |
2.20 |
1.00 |
3.26 |
2.42 |
4.95 |
1.78 |
cyl_neumann |
2.48 |
1.00 |
1.26 |
2.42 |
1.07 |
- |
digamma |
1.92 |
1.00 |
- |
2.69 |
4.31 |
- |
ellint_1 (complete) |
1.86 |
1.00 |
8.89 |
10.54 |
- |
|
ellint_1 |
1.94 |
1.00 |
2.31 |
2.51 |
- |
- |
ellint_2 (complete) |
1.71 |
1.00 |
15.23 |
17.31 |
- |
- |
ellint_2 |
2.32 |
1.00 |
1.90 |
2.17 |
- |
- |
ellint_3 (complete) |
2.23 |
1.00 |
1.66 |
1.98 |
||
ellint_3 |
2.75 |
1.00 |
1.59 |
1.77 |
- |
- |
ellint_rc |
1.57 |
1.00 |
- |
4.41 |
- |
- |
ellint_rd |
2.23 |
1.00 |
- |
1.64 |
- |
- |
ellint_rf |
1.51 |
1.00 |
- |
5.54 |
- |
- |
ellint_rj |
2.33 |
1.00 |
- |
11.31 |
- |
- |
erf |
1.00 |
- |
1.20 |
10.27 |
- |
1.20 |
erfc |
2.68 |
1.00 |
1.18 |
3.50 |
- |
1.14 |
expint (En) |
1.86 |
1.00 |
- |
4.87 |
- |
- |
expint |
2.47 |
1.00 |
5.34 |
3.76 |
- |
- |
expm1 |
1.00 |
1.10 |
1.00 |
- |
- |
1.00 |
gamma_p |
2.42 |
1.00 |
- |
4.77 |
1.61 |
- |
gamma_p_inv |
2.24 |
1.00 |
- |
- |
2.22 |
- |
gamma_q |
2.53 |
1.00 |
- |
5.70 |
1.78 |
- |
gamma_q_inv |
2.45 |
1.00 |
- |
- |
1.09 |
- |
ibeta |
3.47 |
1.28 |
- |
- |
1.00 |
- |
ibeta_inv |
2.58 |
1.00 |
- |
- |
26.72 |
- |
ibetac |
3.51 |
1.32 |
- |
- |
1.00 |
- |
ibetac_inv |
2.44 |
1.00 |
- |
- |
19.20 |
- |
jacobi_cn |
5.01 |
1.81 |
- |
1.00 |
- |
- |
jacobi_dn |
5.12 |
1.83 |
- |
1.00 |
- |
- |
jacobi_sn |
5.23 |
1.83 |
- |
1.00 |
- |
- |
laguerre |
1.09 |
1.00 |
1.25 |
1.18 |
- |
- |
legendre Q |
1.18 |
1.00 |
- |
1.09 |
- |
- |
legendre |
1.16 |
1.00 |
1.10 |
2.10 |
- |
- |
lgamma |
5.35 |
2.44 |
1.00 |
5.92 |
1.96 |
1.00 |
log1p |
1.09 |
1.09 |
1.00 |
- |
- |
1.00 |
polygamma |
8.69 |
2.21 |
- |
7.47 |
1.00 |
- |
sph_bessel |
1.71 |
1.00 |
2.11 |
2.68 |
- |
- |
sph_neumann |
8.32 |
3.88 |
6.46 |
1.00 |
- |
- |
tgamma (incomplete) |
2.35 |
1.00 |
- |
2.93 |
- |
- |
tgamma |
4.54 |
1.23 |
2.05 |
1.21 |
1.00 |
2.06 |
trigamma |
1.64 |
1.00 |
- |
39.41 |
12.09 |
- |
zeta |
2.71 |
1.00 |
752.52 |
1.52 |
- |
- |
Table 14. Library Comparison with Intel C++ C++0x mode version 1600 on Windows x64
Function |
boost 1.61 |
math.h |
---|---|---|
cbrt |
1.56 |
1.00 |
cyl_bessel_j (integer order) |
1.00 |
1.25 |
cyl_neumann (integer order) |
1.00 |
1.03 |
erf |
1.00 |
2.23 |
erfc |
1.00 |
6.65 |
expm1 |
1.10 |
1.00 |
lgamma |
1.35 |
1.00 |
log1p |
1.08 |
1.00 |
tgamma |
1.00 |
1.07 |
Table 15. Library Comparison with Microsoft Visual C++ version 14.0 on Windows x64
Function |
boost 1.61 |
math.h |
---|---|---|
cbrt |
1.00 |
1.44 |
cyl_bessel_j (integer order) |
1.00 |
2.11 |
cyl_neumann (integer order) |
1.57 |
1.00 |
erf |
1.10 |
1.00 |
erfc |
1.00 |
3.36 |
expm1 |
1.00 |
1.10 |
lgamma |
1.00 |
1.74 |
log1p |
1.08 |
1.00 |
tgamma |
1.00 |
12.12 |
Table 16. Polynomial Method Comparison with GNU C++ version 5.3.0 on Windows x64
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
1.00 |
1.00 |
1.00 |
1.00 |
1.11 |
1.11 |
Order 3 |
1.50 |
2.42 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.08 |
Order 4 |
1.40 |
2.40 |
1.00 |
1.07 |
1.00 |
1.00 |
1.07 |
1.13 |
Order 5 |
1.37 |
2.37 |
1.00 |
1.00 |
1.11 |
1.05 |
1.05 |
1.11 |
Order 6 |
1.54 |
2.25 |
1.00 |
1.00 |
1.00 |
1.29 |
1.04 |
1.00 |
Order 7 |
1.55 |
2.17 |
1.03 |
1.00 |
1.10 |
1.10 |
1.00 |
1.07 |
Order 8 |
1.61 |
2.18 |
1.09 |
1.09 |
1.15 |
1.03 |
1.06 |
1.00 |
Order 9 |
1.76 |
2.49 |
1.19 |
1.24 |
1.00 |
1.03 |
1.00 |
1.00 |
Order 10 |
1.76 |
2.61 |
1.22 |
1.24 |
1.29 |
1.15 |
1.00 |
1.02 |
Order 11 |
1.83 |
2.59 |
1.28 |
1.26 |
1.09 |
1.07 |
1.00 |
1.02 |
Order 12 |
1.92 |
2.73 |
1.29 |
1.31 |
1.06 |
1.08 |
1.00 |
1.02 |
Order 13 |
2.24 |
2.96 |
1.44 |
1.40 |
1.04 |
1.00 |
1.00 |
1.08 |
Order 14 |
2.04 |
2.88 |
1.50 |
1.54 |
1.05 |
1.04 |
1.00 |
1.00 |
Order 15 |
1.80 |
2.41 |
1.39 |
1.35 |
1.00 |
1.16 |
1.00 |
1.00 |
Order 16 |
1.84 |
2.49 |
1.32 |
1.37 |
1.09 |
1.10 |
1.00 |
1.00 |
Order 17 |
1.99 |
2.65 |
1.49 |
1.49 |
1.13 |
1.04 |
1.00 |
1.00 |
Order 18 |
2.00 |
2.71 |
1.49 |
1.48 |
1.10 |
1.08 |
1.00 |
1.01 |
Order 19 |
2.03 |
2.70 |
1.53 |
1.51 |
1.04 |
1.09 |
1.01 |
1.00 |
Order 20 |
2.02 |
2.85 |
1.65 |
1.56 |
1.17 |
1.09 |
1.00 |
1.02 |
Table 17. Polynomial Method Comparison with GNU C++ version 5.3.0 on linux
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
1.00 |
1.00 |
1.11 |
1.00 |
1.11 |
1.11 |
Order 3 |
1.58 |
2.08 |
1.08 |
1.08 |
1.00 |
1.08 |
1.00 |
1.08 |
Order 4 |
2.00 |
2.40 |
1.07 |
1.07 |
1.07 |
1.07 |
1.00 |
1.20 |
Order 5 |
1.74 |
2.74 |
1.00 |
1.00 |
1.11 |
1.05 |
1.05 |
1.05 |
Order 6 |
1.83 |
2.29 |
1.08 |
1.00 |
1.08 |
1.08 |
1.04 |
1.00 |
Order 7 |
1.71 |
2.39 |
1.04 |
1.07 |
1.04 |
1.04 |
1.00 |
1.00 |
Order 8 |
1.66 |
2.41 |
1.16 |
1.12 |
1.06 |
1.09 |
1.03 |
1.00 |
Order 9 |
1.78 |
2.65 |
1.16 |
1.19 |
1.03 |
1.16 |
1.00 |
1.00 |
Order 10 |
1.67 |
2.49 |
1.21 |
1.19 |
1.09 |
1.12 |
1.02 |
1.00 |
Order 11 |
2.21 |
2.68 |
1.30 |
1.36 |
1.09 |
1.09 |
1.02 |
1.00 |
Order 12 |
2.25 |
2.58 |
1.34 |
1.57 |
1.06 |
1.06 |
1.00 |
1.00 |
Order 13 |
2.38 |
2.94 |
1.42 |
1.60 |
1.02 |
1.06 |
1.00 |
1.02 |
Order 14 |
2.19 |
2.83 |
1.53 |
1.46 |
1.05 |
1.03 |
1.00 |
1.03 |
Order 15 |
1.97 |
2.45 |
1.46 |
1.41 |
1.07 |
1.24 |
1.00 |
1.01 |
Order 16 |
2.04 |
2.60 |
1.39 |
1.38 |
1.09 |
1.06 |
1.01 |
1.00 |
Order 17 |
2.01 |
2.62 |
1.41 |
1.40 |
1.02 |
1.00 |
1.00 |
1.01 |
Order 18 |
2.05 |
2.79 |
1.48 |
1.47 |
1.03 |
1.04 |
1.00 |
1.00 |
Order 19 |
2.05 |
2.82 |
1.55 |
1.58 |
1.05 |
1.02 |
1.00 |
1.00 |
Order 20 |
2.07 |
2.91 |
1.61 |
1.69 |
1.05 |
1.04 |
1.02 |
1.00 |
Table 18. Polynomial Method Comparison with Intel C++ C++0x mode version 1600 on Windows x64
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
Order 3 |
3.00 |
3.88 |
1.00 |
1.00 |
1.13 |
1.13 |
1.00 |
1.00 |
Order 4 |
2.45 |
3.27 |
1.00 |
1.00 |
1.09 |
1.18 |
1.00 |
1.00 |
Order 5 |
2.54 |
3.54 |
1.00 |
1.00 |
1.54 |
1.62 |
1.23 |
1.23 |
Order 6 |
2.67 |
3.67 |
1.00 |
1.00 |
1.67 |
1.47 |
1.33 |
1.33 |
Order 7 |
2.61 |
3.78 |
1.00 |
1.00 |
1.67 |
1.56 |
1.33 |
1.33 |
Order 8 |
2.71 |
3.62 |
1.00 |
1.05 |
1.52 |
1.43 |
1.33 |
1.33 |
Order 9 |
2.48 |
3.48 |
1.00 |
1.07 |
1.44 |
1.44 |
1.19 |
1.19 |
Order 10 |
2.41 |
3.22 |
1.00 |
1.03 |
1.31 |
1.38 |
1.16 |
1.19 |
Order 11 |
2.39 |
3.22 |
1.00 |
1.03 |
1.28 |
1.19 |
1.17 |
1.17 |
Order 12 |
2.37 |
3.00 |
1.02 |
1.00 |
1.16 |
1.28 |
1.07 |
1.09 |
Order 13 |
2.59 |
3.20 |
1.00 |
1.00 |
1.18 |
1.14 |
1.07 |
1.07 |
Order 14 |
2.85 |
3.39 |
1.00 |
1.22 |
1.15 |
1.22 |
1.04 |
1.04 |
Order 15 |
3.16 |
3.91 |
1.00 |
1.07 |
1.18 |
1.23 |
1.07 |
1.07 |
Order 16 |
3.43 |
4.43 |
1.05 |
1.00 |
1.16 |
1.09 |
1.09 |
1.09 |
Order 17 |
3.66 |
4.89 |
1.00 |
1.00 |
1.07 |
1.07 |
1.07 |
1.07 |
Order 18 |
3.91 |
5.24 |
1.02 |
1.00 |
1.07 |
1.07 |
1.07 |
1.07 |
Order 19 |
4.00 |
5.43 |
1.02 |
1.00 |
1.02 |
1.02 |
1.04 |
1.02 |
Order 20 |
4.40 |
5.96 |
1.00 |
1.00 |
1.07 |
1.04 |
1.04 |
1.07 |
Table 19. Polynomial Method Comparison with Microsoft Visual C++ version 14.0 on Windows x64
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
1.00 |
Order 3 |
2.08 |
2.75 |
1.08 |
1.08 |
1.08 |
1.08 |
1.08 |
1.00 |
Order 4 |
2.06 |
2.71 |
1.06 |
1.00 |
1.06 |
1.06 |
1.00 |
1.00 |
Order 5 |
1.32 |
2.00 |
1.00 |
1.00 |
1.05 |
1.05 |
1.05 |
1.05 |
Order 6 |
1.38 |
2.04 |
1.08 |
1.00 |
1.08 |
1.08 |
1.35 |
1.38 |
Order 7 |
1.43 |
2.13 |
1.03 |
1.00 |
1.10 |
1.03 |
1.10 |
1.13 |
Order 8 |
1.65 |
2.22 |
1.00 |
1.08 |
1.14 |
1.05 |
1.08 |
1.11 |
Order 9 |
1.39 |
2.05 |
1.17 |
1.17 |
1.00 |
1.05 |
1.15 |
1.12 |
Order 10 |
1.37 |
2.20 |
1.22 |
1.24 |
1.00 |
1.00 |
1.17 |
1.17 |
Order 11 |
1.59 |
2.24 |
1.37 |
1.29 |
1.22 |
1.00 |
1.22 |
1.22 |
Order 12 |
1.46 |
2.16 |
1.28 |
1.26 |
1.02 |
1.00 |
1.07 |
1.05 |
Order 13 |
1.61 |
2.55 |
1.32 |
1.39 |
1.04 |
1.00 |
1.11 |
1.07 |
Order 14 |
1.61 |
2.23 |
1.45 |
1.45 |
1.02 |
1.02 |
1.00 |
1.09 |
Order 15 |
1.49 |
2.10 |
1.35 |
1.35 |
1.00 |
1.00 |
1.00 |
1.02 |
Order 16 |
1.54 |
1.99 |
1.49 |
1.45 |
1.07 |
1.00 |
1.08 |
1.02 |
Order 17 |
1.51 |
2.02 |
1.57 |
1.50 |
1.02 |
1.00 |
1.07 |
1.06 |
Order 18 |
1.53 |
2.16 |
1.49 |
1.57 |
1.11 |
1.09 |
1.00 |
1.08 |
Order 19 |
1.90 |
2.27 |
1.62 |
1.62 |
1.08 |
1.00 |
1.17 |
1.19 |
Order 20 |
1.65 |
2.08 |
1.45 |
1.44 |
1.00 |
1.00 |
1.01 |
1.03 |
Table 20. Rational Method Comparison with GNU C++ version 5.3.0 on Windows x64
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
2.00 |
1.98 |
1.07 |
1.02 |
1.02 |
1.00 |
Order 3 |
2.02 |
2.00 |
2.02 |
1.98 |
1.07 |
1.02 |
1.02 |
1.00 |
Order 4 |
1.98 |
1.98 |
1.93 |
1.93 |
1.00 |
1.00 |
1.00 |
1.00 |
Order 5 |
1.01 |
1.10 |
1.00 |
1.02 |
1.46 |
1.46 |
1.45 |
1.45 |
Order 6 |
1.03 |
1.12 |
1.00 |
1.00 |
1.38 |
1.40 |
1.40 |
1.40 |
Order 7 |
1.07 |
1.25 |
1.00 |
1.04 |
1.38 |
1.38 |
1.37 |
1.36 |
Order 8 |
1.08 |
1.28 |
1.00 |
1.07 |
1.20 |
1.21 |
1.22 |
1.29 |
Order 9 |
1.07 |
1.27 |
1.00 |
1.03 |
1.07 |
1.08 |
1.11 |
1.07 |
Order 10 |
1.08 |
1.17 |
1.01 |
1.00 |
1.01 |
1.03 |
1.02 |
1.03 |
Order 11 |
1.19 |
1.29 |
1.00 |
1.03 |
1.02 |
1.01 |
1.01 |
1.01 |
Order 12 |
1.43 |
1.35 |
1.07 |
1.07 |
1.03 |
1.05 |
1.00 |
1.01 |
Order 13 |
1.40 |
1.34 |
1.12 |
1.13 |
1.00 |
1.01 |
1.01 |
1.01 |
Order 14 |
1.24 |
1.39 |
1.17 |
1.16 |
1.02 |
1.03 |
1.00 |
1.02 |
Order 15 |
1.26 |
1.55 |
1.21 |
1.26 |
1.00 |
1.01 |
1.01 |
1.01 |
Order 16 |
1.26 |
1.46 |
1.24 |
1.22 |
1.01 |
1.01 |
1.00 |
1.07 |
Order 17 |
1.31 |
1.56 |
1.33 |
1.32 |
1.00 |
1.02 |
1.00 |
1.01 |
Order 18 |
1.24 |
1.45 |
1.28 |
1.36 |
1.01 |
1.03 |
1.02 |
1.00 |
Order 19 |
1.32 |
1.51 |
1.40 |
1.41 |
1.11 |
1.02 |
1.00 |
1.00 |
Order 20 |
1.26 |
1.47 |
1.35 |
1.36 |
1.07 |
1.06 |
1.00 |
1.00 |
Table 21. Rational Method Comparison with GNU C++ version 5.3.0 on linux
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
1.95 |
1.93 |
1.05 |
1.00 |
1.05 |
1.02 |
Order 3 |
1.95 |
1.98 |
1.95 |
1.98 |
1.00 |
1.02 |
1.05 |
1.02 |
Order 4 |
1.93 |
1.95 |
1.91 |
1.93 |
1.00 |
1.00 |
1.02 |
1.00 |
Order 5 |
1.00 |
1.08 |
1.13 |
1.00 |
1.47 |
1.49 |
1.51 |
1.47 |
Order 6 |
1.00 |
1.09 |
1.03 |
1.01 |
1.38 |
1.38 |
1.35 |
1.34 |
Order 7 |
1.06 |
1.26 |
1.00 |
1.00 |
1.51 |
1.42 |
1.37 |
1.37 |
Order 8 |
1.20 |
1.43 |
1.02 |
1.00 |
1.35 |
1.37 |
1.37 |
1.38 |
Order 9 |
1.18 |
1.36 |
1.00 |
1.03 |
1.23 |
1.26 |
1.23 |
1.22 |
Order 10 |
1.24 |
1.30 |
1.00 |
1.00 |
1.18 |
1.13 |
1.15 |
1.16 |
Order 11 |
1.31 |
1.25 |
1.00 |
1.02 |
1.03 |
1.05 |
1.02 |
1.05 |
Order 12 |
1.23 |
1.22 |
1.02 |
1.00 |
1.03 |
1.06 |
1.01 |
1.01 |
Order 13 |
1.26 |
1.32 |
1.07 |
1.07 |
1.00 |
1.01 |
1.04 |
1.03 |
Order 14 |
1.25 |
1.42 |
1.16 |
1.17 |
1.03 |
1.03 |
1.00 |
1.02 |
Order 15 |
1.26 |
1.44 |
1.19 |
1.24 |
1.03 |
1.01 |
1.00 |
1.00 |
Order 16 |
1.23 |
1.46 |
1.18 |
1.17 |
1.01 |
1.00 |
1.04 |
1.04 |
Order 17 |
1.23 |
1.43 |
1.21 |
1.20 |
1.00 |
1.04 |
1.03 |
1.00 |
Order 18 |
1.29 |
1.45 |
1.19 |
1.20 |
1.03 |
1.03 |
1.00 |
1.00 |
Order 19 |
1.28 |
1.46 |
1.20 |
1.22 |
1.03 |
1.03 |
1.00 |
1.04 |
Order 20 |
1.24 |
1.41 |
1.16 |
1.15 |
1.01 |
1.04 |
1.00 |
1.00 |
Table 22. Rational Method Comparison with Intel C++ C++0x mode version 1600 on Windows x64
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
1.95 |
1.95 |
1.00 |
1.00 |
1.02 |
1.00 |
Order 3 |
3.90 |
3.95 |
3.90 |
3.95 |
1.00 |
1.00 |
1.00 |
1.00 |
Order 4 |
3.95 |
4.00 |
3.95 |
3.95 |
1.00 |
1.00 |
1.00 |
1.00 |
Order 5 |
1.01 |
1.06 |
1.00 |
1.00 |
1.48 |
1.48 |
1.47 |
1.47 |
Order 6 |
1.06 |
1.19 |
1.00 |
1.00 |
1.43 |
1.43 |
1.43 |
1.43 |
Order 7 |
1.11 |
1.31 |
1.00 |
1.00 |
1.38 |
1.38 |
1.38 |
1.36 |
Order 8 |
1.18 |
1.40 |
1.00 |
1.00 |
1.37 |
1.36 |
1.52 |
1.53 |
Order 9 |
1.28 |
1.47 |
1.09 |
1.00 |
1.31 |
1.31 |
1.45 |
1.42 |
Order 10 |
1.23 |
1.45 |
1.00 |
1.01 |
1.21 |
1.20 |
1.44 |
1.75 |
Order 11 |
1.27 |
1.37 |
1.00 |
1.02 |
1.12 |
1.12 |
1.29 |
1.69 |
Order 12 |
1.26 |
1.35 |
1.00 |
1.00 |
1.06 |
1.06 |
1.32 |
1.60 |
Order 13 |
1.69 |
1.77 |
1.00 |
1.00 |
1.01 |
1.01 |
1.74 |
2.08 |
Order 14 |
1.74 |
1.86 |
1.00 |
1.00 |
1.02 |
1.09 |
1.84 |
2.23 |
Order 15 |
1.81 |
1.93 |
1.00 |
1.00 |
1.02 |
1.03 |
1.83 |
2.31 |
Order 16 |
1.85 |
2.01 |
1.00 |
1.00 |
1.03 |
1.02 |
1.89 |
2.49 |
Order 17 |
1.85 |
2.11 |
1.00 |
1.04 |
1.00 |
1.02 |
1.87 |
2.48 |
Order 18 |
1.90 |
2.25 |
1.03 |
1.01 |
1.01 |
1.00 |
1.92 |
2.59 |
Order 19 |
2.04 |
2.33 |
1.07 |
4.06 |
1.00 |
1.04 |
1.93 |
2.68 |
Order 20 |
2.14 |
2.43 |
1.07 |
4.12 |
1.00 |
3.06 |
1.86 |
2.85 |
Table 23. Rational Method Comparison with Microsoft Visual C++ version 14.0 on Windows x64
Function |
Method 0 |
Method 0 |
Method 1 |
Method 1 |
Method 2 |
Method 2 |
Method 3 |
Method 3 |
---|---|---|---|---|---|---|---|---|
Order 2 |
- |
- |
2.12 |
1.95 |
1.00 |
1.00 |
1.00 |
1.00 |
Order 3 |
2.10 |
2.10 |
2.05 |
2.10 |
1.05 |
1.00 |
1.00 |
1.00 |
Order 4 |
2.12 |
2.21 |
1.98 |
2.10 |
1.02 |
1.02 |
1.02 |
1.00 |
Order 5 |
1.07 |
1.15 |
1.08 |
1.00 |
1.45 |
1.46 |
1.45 |
1.45 |
Order 6 |
1.16 |
1.58 |
1.00 |
1.03 |
1.44 |
1.44 |
1.41 |
1.38 |
Order 7 |
1.29 |
1.44 |
1.01 |
1.00 |
1.38 |
1.36 |
1.33 |
1.36 |
Order 8 |
1.33 |
1.52 |
1.00 |
1.08 |
1.38 |
1.31 |
1.39 |
1.37 |
Order 9 |
1.18 |
1.45 |
1.00 |
1.08 |
1.13 |
1.26 |
1.26 |
1.27 |
Order 10 |
1.29 |
1.28 |
1.05 |
1.00 |
1.06 |
1.06 |
1.18 |
1.17 |
Order 11 |
1.28 |
1.28 |
1.06 |
1.05 |
1.03 |
1.00 |
1.19 |
1.47 |
Order 12 |
1.22 |
1.38 |
1.04 |
1.04 |
1.00 |
1.04 |
1.22 |
1.52 |
Order 13 |
1.23 |
1.29 |
1.15 |
1.10 |
1.00 |
1.15 |
1.22 |
1.61 |
Order 14 |
1.28 |
1.39 |
1.15 |
1.14 |
1.00 |
1.01 |
1.49 |
1.53 |
Order 15 |
1.28 |
1.34 |
1.12 |
1.15 |
1.00 |
1.00 |
1.38 |
1.47 |
Order 16 |
1.35 |
1.40 |
1.22 |
1.18 |
1.00 |
1.23 |
1.43 |
1.52 |
Order 17 |
1.16 |
1.47 |
1.15 |
1.35 |
1.00 |
1.22 |
1.50 |
1.52 |
Order 18 |
1.10 |
1.46 |
1.10 |
1.75 |
1.00 |
1.30 |
1.41 |
1.46 |
Order 19 |
1.26 |
1.35 |
1.24 |
1.33 |
1.00 |
1.22 |
1.44 |
1.46 |
Order 20 |
1.24 |
1.60 |
1.22 |
1.56 |
1.00 |
1.19 |
1.57 |
1.56 |
Table 24. gcd method comparison with Clang version 3.8.0 (trunk 256686) on linux
Function |
Stein_gcd boost 1.61 |
Euclid_gcd boost 1.61 |
Stein_gcd_textbook boost 1.61 |
gcd_euclid_textbook boost 1.61 |
mixed_binary_gcd boost 1.61 |
---|---|---|---|---|---|
gcd<boost::multiprecision::uint1024_t> (Trivial cases) |
2.90 |
1.06 |
1.44 |
1.00 |
1.02 |
gcd<boost::multiprecision::uint1024_t> (adjacent Fibonacci numbers) |
1.94 |
3.87 |
1.51 |
3.83 |
1.00 |
gcd<boost::multiprecision::uint1024_t> (permutations of Fibonacci numbers) |
11.97 |
1.00 |
9.58 |
1.02 |
1.64 |
gcd<boost::multiprecision::uint1024_t> (random prime number products) |
4.83 |
1.28 |
3.98 |
1.32 |
1.00 |
gcd<boost::multiprecision::uint1024_t> (uniform random numbers) |
1.74 |
1.35 |
1.36 |
1.28 |
1.00 |
gcd<boost::multiprecision::uint256_t> (Trivial cases) |
3.65 |
1.15 |
1.59 |
1.00 |
1.04 |
gcd<boost::multiprecision::uint256_t> (adjacent Fibonacci numbers) |
2.08 |
1.97 |
1.53 |
1.94 |
1.00 |
gcd<boost::multiprecision::uint256_t> (permutations of Fibonacci numbers) |
2.49 |
1.38 |
1.86 |
1.40 |
1.00 |
gcd<boost::multiprecision::uint256_t> (random prime number products) |
4.95 |
1.24 |
3.86 |
1.23 |
1.00 |
gcd<boost::multiprecision::uint256_t> (uniform random numbers) |
1.85 |
1.38 |
1.41 |
1.39 |
1.00 |
gcd<boost::multiprecision::uint512_t> (Trivial cases) |
3.36 |
1.07 |
1.53 |
1.00 |
1.05 |
gcd<boost::multiprecision::uint512_t> (adjacent Fibonacci numbers) |
2.04 |
2.80 |
1.47 |
2.71 |
1.00 |
gcd<boost::multiprecision::uint512_t> (permutations of Fibonacci numbers) |
3.83 |
1.32 |
2.82 |
1.25 |
1.00 |
gcd<boost::multiprecision::uint512_t> (random prime number products) |
4.73 |
1.28 |
3.75 |
1.26 |
1.00 |
gcd<boost::multiprecision::uint512_t> (uniform random numbers) |
1.81 |
1.41 |
1.29 |
1.38 |
1.00 |
gcd<unsigned long long> (Trivial cases) |
1.16 |
1.32 |
1.47 |
1.09 |
1.00 |
gcd<unsigned long long> (adjacent Fibonacci numbers) |
1.00 |
7.82 |
3.32 |
8.27 |
1.79 |
gcd<unsigned long long> (permutations of Fibonacci numbers) |
2.27 |
1.15 |
3.68 |
1.10 |
1.00 |
gcd<unsigned long long> (random prime number products) |
1.44 |
1.15 |
2.40 |
1.12 |
1.00 |
gcd<unsigned long long> (uniform random numbers) |
1.00 |
1.10 |
1.70 |
1.09 |
1.03 |
gcd<unsigned long> (Trivial cases) |
1.06 |
1.38 |
1.57 |
1.07 |
1.00 |
gcd<unsigned long> (adjacent Fibonacci numbers) |
1.00 |
7.89 |
3.06 |
7.84 |
1.80 |
gcd<unsigned long> (permutations of Fibonacci numbers) |
2.33 |
1.22 |
3.70 |
1.17 |
1.00 |
gcd<unsigned long> (random prime number products) |
1.44 |
1.18 |
2.30 |
1.16 |
1.00 |
gcd<unsigned long> (uniform random numbers) |
1.01 |
1.13 |
1.65 |
1.11 |
1.00 |
gcd<unsigned short> (Trivial cases) |
1.67 |
1.09 |
2.48 |
1.00 |
1.20 |
gcd<unsigned short> (adjacent Fibonacci numbers) |
1.00 |
3.86 |
2.15 |
3.43 |
1.20 |
gcd<unsigned short> (permutations of Fibonacci numbers) |
1.41 |
1.66 |
3.80 |
1.58 |
1.00 |
gcd<unsigned short> (random prime number products) |
1.57 |
1.12 |
2.63 |
1.00 |
1.07 |
gcd<unsigned short> (uniform random numbers) |
1.31 |
1.07 |
2.18 |
1.00 |
1.01 |
gcd<unsigned> (Trivial cases) |
1.53 |
1.05 |
2.08 |
1.00 |
1.07 |
gcd<unsigned> (adjacent Fibonacci numbers) |
1.00 |
5.15 |
3.01 |
5.12 |
1.19 |
gcd<unsigned> (permutations of Fibonacci numbers) |
2.65 |
1.41 |
4.61 |
1.35 |
1.00 |
gcd<unsigned> (random prime number products) |
1.62 |
1.06 |
2.73 |
1.04 |
1.00 |
gcd<unsigned> (uniform random numbers) |
1.26 |
1.03 |
2.17 |
1.00 |
1.02 |
Table 25. gcd method comparison with GNU C++ version 5.3.0 on linux
Function |
Stein_gcd boost 1.61 |
Euclid_gcd boost 1.61 |
Stein_gcd_textbook boost 1.61 |
gcd_euclid_textbook boost 1.61 |
mixed_binary_gcd boost 1.61 |
---|---|---|---|---|---|
gcd<boost::multiprecision::uint1024_t> (Trivial cases) |
3.13 |
1.00 |
1.44 |
1.14 |
1.02 |
gcd<boost::multiprecision::uint1024_t> (adjacent Fibonacci numbers) |
2.31 |
3.87 |
1.54 |
4.68 |
1.00 |
gcd<boost::multiprecision::uint1024_t> (permutations of Fibonacci numbers) |
14.78 |
1.00 |
10.27 |
1.22 |
1.66 |
gcd<boost::multiprecision::uint1024_t> (random prime number products) |
6.05 |
1.28 |
4.27 |
1.75 |
1.00 |
gcd<boost::multiprecision::uint1024_t> (uniform random numbers) |
1.91 |
1.40 |
1.35 |
1.65 |
1.00 |
gcd<boost::multiprecision::uint256_t> (Trivial cases) |
3.92 |
1.00 |
1.54 |
1.00 |
1.03 |
gcd<boost::multiprecision::uint256_t> (adjacent Fibonacci numbers) |
1.92 |
1.89 |
1.24 |
2.17 |
1.00 |
gcd<boost::multiprecision::uint256_t> (permutations of Fibonacci numbers) |
2.45 |
1.37 |
1.58 |
1.57 |
1.00 |
gcd<boost::multiprecision::uint256_t> (random prime number products) |
4.87 |
1.22 |
3.29 |
1.43 |
1.00 |
gcd<boost::multiprecision::uint256_t> (uniform random numbers) |
1.83 |
1.40 |
1.19 |
1.63 |
1.00 |
gcd<boost::multiprecision::uint512_t> (Trivial cases) |
3.43 |
1.00 |
1.33 |
1.00 |
1.00 |
gcd<boost::multiprecision::uint512_t> (adjacent Fibonacci numbers) |
1.95 |
2.76 |
1.28 |
3.06 |
1.00 |
gcd<boost::multiprecision::uint512_t> (permutations of Fibonacci numbers) |
3.55 |
1.23 |
2.50 |
1.41 |
1.00 |
gcd<boost::multiprecision::uint512_t> (random prime number products) |
4.50 |
1.24 |
3.14 |
1.46 |
1.00 |
gcd<boost::multiprecision::uint512_t> (uniform random numbers) |
1.73 |
1.41 |
1.18 |
1.59 |
1.00 |
gcd<unsigned long long> (Trivial cases) |
1.00 |
1.39 |
1.25 |
1.13 |
1.08 |
gcd<unsigned long long> (adjacent Fibonacci numbers) |
1.00 |
9.71 |
1.42 |
9.53 |
2.05 |
gcd<unsigned long long> (permutations of Fibonacci numbers) |
2.35 |
1.13 |
1.97 |
1.09 |
1.00 |
gcd<unsigned long long> (random prime number products) |
1.47 |
1.10 |
1.24 |
1.08 |
1.00 |
gcd<unsigned long long> (uniform random numbers) |
1.16 |
1.16 |
1.00 |
1.16 |
1.10 |
gcd<unsigned long> (Trivial cases) |
1.00 |
1.42 |
1.22 |
1.21 |
1.21 |
gcd<unsigned long> (adjacent Fibonacci numbers) |
1.00 |
8.66 |
1.31 |
8.51 |
1.79 |
gcd<unsigned long> (permutations of Fibonacci numbers) |
2.35 |
1.13 |
1.99 |
1.10 |
1.00 |
gcd<unsigned long> (random prime number products) |
1.45 |
1.08 |
1.22 |
1.08 |
1.00 |
gcd<unsigned long> (uniform random numbers) |
1.18 |
1.18 |
1.00 |
1.17 |
1.15 |
gcd<unsigned short> (Trivial cases) |
1.37 |
1.01 |
1.65 |
1.00 |
1.15 |
gcd<unsigned short> (adjacent Fibonacci numbers) |
1.00 |
4.94 |
1.85 |
4.80 |
1.26 |
gcd<unsigned short> (permutations of Fibonacci numbers) |
2.18 |
2.18 |
3.25 |
2.02 |
1.00 |
gcd<unsigned short> (random prime number products) |
1.76 |
1.06 |
1.75 |
1.00 |
1.03 |
gcd<unsigned short> (uniform random numbers) |
1.49 |
1.03 |
1.49 |
1.00 |
1.05 |
gcd<unsigned> (Trivial cases) |
1.33 |
1.04 |
1.66 |
1.00 |
1.11 |
gcd<unsigned> (adjacent Fibonacci numbers) |
1.00 |
8.08 |
2.43 |
7.29 |
1.48 |
gcd<unsigned> (permutations of Fibonacci numbers) |
2.12 |
1.16 |
2.17 |
1.03 |
1.00 |
gcd<unsigned> (random prime number products) |
1.73 |
1.09 |
1.61 |
1.00 |
1.24 |
gcd<unsigned> (uniform random numbers) |
1.37 |
1.03 |
1.32 |
1.00 |
1.24 |
Table 26. gcd method comparison with Intel C++ C++0x mode version 1500 on linux
Function |
Stein_gcd boost 1.61 |
Euclid_gcd boost 1.61 |
Stein_gcd_textbook boost 1.61 |
gcd_euclid_textbook boost 1.61 |
mixed_binary_gcd boost 1.61 |
---|---|---|---|---|---|
gcd<boost::multiprecision::uint1024_t> (Trivial cases) |
4.77 |
1.01 |
2.10 |
1.00 |
2.02 |
gcd<boost::multiprecision::uint1024_t> (adjacent Fibonacci numbers) |
2.08 |
2.50 |
1.33 |
2.71 |
1.00 |
gcd<boost::multiprecision::uint1024_t> (permutations of Fibonacci numbers) |
19.48 |
1.00 |
12.76 |
1.06 |
2.18 |
gcd<boost::multiprecision::uint1024_t> (random prime number products) |
6.89 |
1.00 |
4.72 |
1.16 |
1.14 |
gcd<boost::multiprecision::uint1024_t> (uniform random numbers) |
1.93 |
1.06 |
1.27 |
1.08 |
1.00 |
gcd<boost::multiprecision::uint256_t> (Trivial cases) |
6.93 |
1.00 |
2.62 |
1.01 |
2.71 |
gcd<boost::multiprecision::uint256_t> (adjacent Fibonacci numbers) |
2.21 |
1.23 |
1.39 |
1.29 |
1.00 |
gcd<boost::multiprecision::uint256_t> (permutations of Fibonacci numbers) |
3.09 |
1.00 |
1.95 |
1.04 |
1.10 |
gcd<boost::multiprecision::uint256_t> (random prime number products) |
7.24 |
1.00 |
4.68 |
1.04 |
1.19 |
gcd<boost::multiprecision::uint256_t> (uniform random numbers) |
2.19 |
1.00 |
1.40 |
1.04 |
1.04 |
gcd<boost::multiprecision::uint512_t> (Trivial cases) |
6.14 |
1.04 |
2.40 |
1.00 |
2.54 |
gcd<boost::multiprecision::uint512_t> (adjacent Fibonacci numbers) |
2.09 |
1.85 |
1.30 |
1.95 |
1.00 |
gcd<boost::multiprecision::uint512_t> (permutations of Fibonacci numbers) |
4.78 |
1.00 |
3.03 |
1.07 |
1.16 |
gcd<boost::multiprecision::uint512_t> (random prime number products) |
6.82 |
1.00 |
4.40 |
1.08 |
1.20 |
gcd<boost::multiprecision::uint512_t> (uniform random numbers) |
1.91 |
1.00 |
1.25 |
1.10 |
1.00 |
gcd<unsigned long long> (Trivial cases) |
1.00 |
1.41 |
1.18 |
1.14 |
1.11 |
gcd<unsigned long long> (adjacent Fibonacci numbers) |
1.00 |
8.74 |
1.79 |
8.56 |
1.92 |
gcd<unsigned long long> (permutations of Fibonacci numbers) |
2.38 |
1.17 |
2.31 |
1.14 |
1.00 |
gcd<unsigned long long> (random prime number products) |
1.51 |
1.19 |
1.48 |
1.19 |
1.00 |
gcd<unsigned long long> (uniform random numbers) |
1.02 |
1.12 |
1.06 |
1.09 |
1.00 |
gcd<unsigned long> (Trivial cases) |
1.00 |
1.50 |
1.35 |
1.22 |
1.14 |
gcd<unsigned long> (adjacent Fibonacci numbers) |
1.00 |
9.04 |
1.79 |
8.51 |
1.91 |
gcd<unsigned long> (permutations of Fibonacci numbers) |
2.39 |
1.19 |
2.39 |
1.15 |
1.00 |
gcd<unsigned long> (random prime number products) |
1.52 |
1.20 |
1.53 |
1.17 |
1.00 |
gcd<unsigned long> (uniform random numbers) |
1.02 |
1.11 |
1.14 |
1.16 |
1.00 |
gcd<unsigned short> (Trivial cases) |
1.70 |
1.10 |
1.64 |
1.00 |
1.34 |
gcd<unsigned short> (adjacent Fibonacci numbers) |
1.00 |
6.66 |
1.82 |
6.00 |
1.43 |
gcd<unsigned short> (permutations of Fibonacci numbers) |
1.03 |
2.47 |
2.31 |
2.20 |
1.00 |
gcd<unsigned short> (random prime number products) |
1.66 |
1.04 |
1.75 |
1.00 |
1.09 |
gcd<unsigned short> (uniform random numbers) |
1.47 |
1.05 |
1.54 |
1.00 |
1.12 |
gcd<unsigned> (Trivial cases) |
1.53 |
1.09 |
1.80 |
1.00 |
1.23 |
gcd<unsigned> (adjacent Fibonacci numbers) |
1.00 |
5.58 |
1.87 |
5.23 |
1.28 |
gcd<unsigned> (permutations of Fibonacci numbers) |
2.23 |
1.24 |
2.63 |
1.16 |
1.00 |
gcd<unsigned> (random prime number products) |
1.58 |
1.04 |
1.72 |
1.00 |
1.06 |
gcd<unsigned> (uniform random numbers) |
1.25 |
1.00 |
1.43 |
1.03 |
1.12 |
Table 27. gcd method comparison with Microsoft Visual C++ version 14.0 on Windows x64
Function |
Stein_gcd boost 1.61 |
Euclid_gcd boost 1.61 |
Stein_gcd_textbook boost 1.61 |
gcd_euclid_textbook boost 1.61 |
mixed_binary_gcd boost 1.61 |
---|---|---|---|---|---|
gcd<boost::multiprecision::uint1024_t> (Trivial cases) |
3.05 |
1.00 |
1.44 |
1.01 |
1.92 |
gcd<boost::multiprecision::uint1024_t> (adjacent Fibonacci numbers) |
2.03 |
2.16 |
1.00 |
1.86 |
1.38 |
gcd<boost::multiprecision::uint1024_t> (permutations of Fibonacci numbers) |
15.51 |
1.00 |
7.78 |
1.10 |
2.64 |
gcd<boost::multiprecision::uint1024_t> (random prime number products) |
5.56 |
1.06 |
3.18 |
1.00 |
1.61 |
gcd<boost::multiprecision::uint1024_t> (uniform random numbers) |
3.03 |
1.20 |
1.36 |
1.00 |
2.11 |
gcd<boost::multiprecision::uint256_t> (Trivial cases) |
3.56 |
1.00 |
1.52 |
1.01 |
2.47 |
gcd<boost::multiprecision::uint256_t> (adjacent Fibonacci numbers) |
1.87 |
1.05 |
1.04 |
1.00 |
1.40 |
gcd<boost::multiprecision::uint256_t> (permutations of Fibonacci numbers) |
3.23 |
1.06 |
1.76 |
1.00 |
1.85 |
gcd<boost::multiprecision::uint256_t> (random prime number products) |
5.65 |
1.01 |
3.25 |
1.00 |
1.70 |
gcd<boost::multiprecision::uint256_t> (uniform random numbers) |
2.45 |
1.06 |
1.35 |
1.00 |
1.84 |
gcd<boost::multiprecision::uint512_t> (Trivial cases) |
3.43 |
1.00 |
1.55 |
1.03 |
2.10 |
gcd<boost::multiprecision::uint512_t> (adjacent Fibonacci numbers) |
1.88 |
1.42 |
1.00 |
1.30 |
1.28 |
gcd<boost::multiprecision::uint512_t> (permutations of Fibonacci numbers) |
5.53 |
1.08 |
2.89 |
1.00 |
1.85 |
gcd<boost::multiprecision::uint512_t> (random prime number products) |
5.48 |
1.01 |
3.28 |
1.00 |
1.58 |
gcd<boost::multiprecision::uint512_t> (uniform random numbers) |
2.66 |
1.13 |
1.39 |
1.00 |
1.88 |
gcd<unsigned long long> (Trivial cases) |
1.00 |
1.39 |
1.41 |
1.17 |
1.13 |
gcd<unsigned long long> (adjacent Fibonacci numbers) |
1.00 |
10.38 |
3.35 |
10.09 |
2.28 |
gcd<unsigned long long> (permutations of Fibonacci numbers) |
2.35 |
1.09 |
2.64 |
1.06 |
1.00 |
gcd<unsigned long long> (random prime number products) |
1.48 |
1.05 |
1.61 |
1.03 |
1.00 |
gcd<unsigned long long> (uniform random numbers) |
1.06 |
1.02 |
1.16 |
1.00 |
1.00 |
gcd<unsigned long> (Trivial cases) |
1.39 |
1.09 |
2.04 |
1.00 |
1.15 |
gcd<unsigned long> (adjacent Fibonacci numbers) |
1.00 |
7.64 |
3.75 |
7.55 |
1.84 |
gcd<unsigned long> (permutations of Fibonacci numbers) |
2.31 |
1.19 |
3.40 |
1.10 |
1.00 |
gcd<unsigned long> (random prime number products) |
1.82 |
1.06 |
2.39 |
1.00 |
1.13 |
gcd<unsigned long> (uniform random numbers) |
1.46 |
1.01 |
1.85 |
1.00 |
1.18 |
gcd<unsigned short> (Trivial cases) |
1.63 |
1.12 |
2.29 |
1.00 |
1.31 |
gcd<unsigned short> (adjacent Fibonacci numbers) |
1.00 |
6.11 |
2.69 |
5.51 |
1.52 |
gcd<unsigned short> (permutations of Fibonacci numbers) |
1.43 |
2.17 |
4.08 |
1.97 |
1.00 |
gcd<unsigned short> (random prime number products) |
1.55 |
1.10 |
2.20 |
1.00 |
1.09 |
gcd<unsigned short> (uniform random numbers) |
1.39 |
1.08 |
1.86 |
1.00 |
1.13 |
gcd<unsigned> (Trivial cases) |
1.40 |
1.07 |
2.11 |
1.00 |
1.15 |
gcd<unsigned> (adjacent Fibonacci numbers) |
1.00 |
6.98 |
3.70 |
6.68 |
1.59 |
gcd<unsigned> (permutations of Fibonacci numbers) |
2.32 |
1.19 |
3.44 |
1.09 |
1.00 |
gcd<unsigned> (random prime number products) |
1.79 |
1.06 |
2.36 |
1.00 |
1.14 |
gcd<unsigned> (uniform random numbers) |
1.43 |
1.01 |
1.84 |
1.00 |
1.17 |
Last revised: April 07, 2016 at 18:35:15 GMT |