Boost C++ Libraries Home Libraries People FAQ More

Special Function and Distribution Performance Report

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

Compiler Comparison on Windows x64
Compiler Comparison on linux
Compiler Option Comparison on Windows x64
Distribution performance comparison with Clang version 3.7.0 (trunk 236512) on linux
Distribution performance comparison with GNU C++ version 4.9.2 on Windows x64
Distribution performance comparison with GNU C++ version 5.1.0 on linux
Distribution performance comparison with Intel C++ C++0x mode version 1500 on Windows x64
Distribution performance comparison with Intel C++ C++0x mode version 1500 on linux
Distribution performance comparison with Microsoft Visual C++ version 14.0 on Windows x64
Distribution performance comparison for different performance options with Clang version 3.7.0 (trunk 236512) on linux
Distribution performance comparison for different performance options with GNU C++ version 4.9.2 on Windows x64
Distribution performance comparison for different performance options with GNU C++ version 5.1.0 on linux
Distribution performance comparison for different performance options with Intel C++ C++0x mode version 1500 on Windows x64
Distribution performance comparison for different performance options with Intel C++ C++0x mode version 1500 on linux
Distribution performance comparison for different performance options with Microsoft Visual C++ version 14.0 on Windows x64
Library Comparison with Clang version 3.7.0 (trunk 236512) on linux
Library Comparison with GNU C++ version 4.9.2 on Windows x64
Library Comparison with GNU C++ version 5.1.0 on linux
Library Comparison with Intel C++ C++0x mode version 1500 on Windows x64
Library Comparison with Intel C++ C++0x mode version 1500 on linux
Library Comparison with Microsoft Visual C++ version 14.0 on Windows x64
Polynomial Method Comparison with Clang version 3.7.0 (trunk 236512) on linux
Polynomial Method Comparison with GNU C++ version 4.9.2 on Windows x64
Polynomial Method Comparison with GNU C++ version 5.1.0 on linux
Polynomial Method Comparison with Intel C++ C++0x mode version 1500 on Windows x64
Polynomial Method Comparison with Intel C++ C++0x mode version 1500 on linux
Polynomial Method Comparison with Microsoft Visual C++ version 14.0 on Windows x64
Rational Method Comparison with Clang version 3.7.0 (trunk 236512) on linux
Rational Method Comparison with GNU C++ version 4.9.2 on Windows x64
Rational Method Comparison with GNU C++ version 5.1.0 on linux
Rational Method Comparison with Intel C++ C++0x mode version 1500 on Windows x64
Rational Method Comparison with Intel C++ C++0x mode version 1500 on linux
Rational Method Comparison with Microsoft Visual C++ version 14.0 on Windows x64

Table 1. Compiler Comparison on Windows x64

Function

Microsoft Visual C++ version 14.0
boost 1.59

Intel C++ C++0x mode version 1500
boost 1.59

GNU C++ version 4.9.2
boost 1.59

GNU C++ version 4.9.2
boost 1.59
promote_double<false>

assoc_laguerre

1.09
(190ns)

1.00
(175ns)

1.29
(225ns)

1.09
(190ns)

assoc_legendre

1.64
(159ns)

1.00
(97ns)

1.84
(178ns)

1.15
(112ns)

beta

1.97
(217ns)

1.00
(110ns)

3.64
(400ns)

2.01
(221ns)

beta (incomplete)

1.41
(520ns)

1.00
(368ns)

3.42
(1259ns)

1.74
(640ns)

cbrt

3.86
(54ns)

1.00
(14ns)

3.43
(48ns)

3.29
(46ns)

cyl_bessel_i

1.12
(402ns)

1.00
(360ns)

2.90
(1045ns)

1.23
(444ns)

cyl_bessel_i (integer order)

1.30
(257ns)

1.00
(198ns)

3.29
(652ns)

1.31
(259ns)

cyl_bessel_j

1.38
(544ns)

1.00
(395ns)

2.10
(828ns)

1.32
(520ns)

cyl_bessel_j (integer order)

1.33
(105ns)

1.00
(79ns)

2.23
(176ns)

1.19
(94ns)

cyl_bessel_k

1.18
(754ns)

1.00
(641ns)

10.67
(6841ns)

1.14
(730ns)

cyl_bessel_k (integer order)

1.26
(419ns)

1.00
(332ns)

10.84
(3600ns)

1.14
(379ns)

cyl_neumann

17.34
(11495ns)

15.24
(10105ns)

2.09
(1384ns)

1.00
(663ns)

cyl_neumann (integer order)

1.21
(328ns)

1.00
(270ns)

2.03
(547ns)

1.29
(348ns)

digamma

1.33
(28ns)

1.00
(21ns)

3.76
(79ns)

2.19
(46ns)

ellint_1

2.23
(386ns)

1.00
(173ns)

2.25
(389ns)

1.45
(251ns)

ellint_1 (complete)

1.78
(57ns)

1.00
(32ns)

2.47
(79ns)

1.53
(49ns)

ellint_2

1.91
(554ns)

1.00
(290ns)

2.35
(681ns)

1.66
(480ns)

ellint_2 (complete)

1.94
(64ns)

1.00
(33ns)

2.09
(69ns)

1.00
(33ns)

ellint_3

2.12
(1279ns)

1.00
(602ns)

3.04
(1828ns)

1.63
(982ns)

ellint_3 (complete)

1.97
(691ns)

1.00
(350ns)

3.21
(1122ns)

1.65
(577ns)

ellint_rc

1.47
(47ns)

1.00
(32ns)

2.66
(85ns)

1.53
(49ns)

ellint_rd

1.62
(318ns)

1.00
(196ns)

1.85
(362ns)

1.34
(262ns)

ellint_rf

1.47
(66ns)

1.00
(45ns)

2.33
(105ns)

1.40
(63ns)

ellint_rj

2.00
(352ns)

1.00
(176ns)

2.62
(461ns)

1.45
(255ns)

erf

1.55
(17ns)

1.00
(11ns)

3.36
(37ns)

2.36
(26ns)

erfc

1.47
(25ns)

1.00
(17ns)

3.24
(55ns)

2.06
(35ns)

expint

1.00
(28ns)

1.00
(28ns)

3.18
(89ns)

2.21
(62ns)

expint (En)

1.12
(118ns)

1.00
(105ns)

2.14
(225ns)

1.50
(157ns)

expm1

1.00
(8ns)

1.00
(8ns)

3.75
(30ns)

3.00
(24ns)

gamma_p

1.26
(187ns)

1.00
(149ns)

2.78
(414ns)

1.70
(254ns)

gamma_p_inv

1.26
(659ns)

1.00
(524ns)

2.31
(1212ns)

1.89
(989ns)

gamma_q

1.27
(181ns)

1.00
(143ns)

2.78
(398ns)

1.60
(229ns)

gamma_q_inv

1.36
(689ns)

1.00
(507ns)

2.38
(1208ns)

1.97
(1000ns)

ibeta

1.27
(520ns)

1.00
(408ns)

3.13
(1276ns)

1.72
(701ns)

ibeta_inv

1.32
(1866ns)

1.00
(1409ns)

2.92
(4120ns)

1.79
(2520ns)

ibetac

1.51
(599ns)

1.00
(397ns)

3.27
(1297ns)

1.76
(698ns)

ibetac_inv

1.26
(1985ns)

1.00
(1576ns)

2.66
(4198ns)

1.69
(2666ns)

jacobi_cn

1.20
(177ns)

1.00
(148ns)

3.67
(543ns)

2.15
(318ns)

jacobi_dn

1.17
(213ns)

1.00
(182ns)

3.19
(581ns)

1.84
(335ns)

jacobi_sn

1.31
(202ns)

1.00
(154ns)

3.17
(488ns)

1.81
(279ns)

laguerre

1.00
(121ns)

1.00
(121ns)

1.17
(142ns)

1.10
(133ns)

legendre

1.05
(348ns)

1.15
(380ns)

1.24
(410ns)

1.00
(330ns)

legendre Q

1.00
(415ns)

1.12
(464ns)

1.23
(512ns)

1.05
(437ns)

lgamma

1.28
(88ns)

1.00
(69ns)

3.46
(239ns)

2.03
(140ns)

log1p

1.10
(11ns)

1.00
(10ns)

3.00
(30ns)

1.60
(16ns)

polygamma

1.15
(3952ns)

1.00
(3443ns)

1.12
(3848ns)

2.24
(7699ns)

sph_bessel

1.18
(1002ns)

1.00
(852ns)

1.61
(1372ns)

1.13
(966ns)

sph_neumann

1.23
(1910ns)

1.00
(1557ns)

2.28
(3557ns)

1.12
(1746ns)

tgamma

1.70
(109ns)

1.00
(64ns)

3.33
(213ns)

2.14
(137ns)

tgamma (incomplete)

1.13
(247ns)

1.00
(219ns)

2.53
(553ns)

1.81
(396ns)

trigamma

2.12
(36ns)

1.00
(17ns)

2.88
(49ns)

1.76
(30ns)

zeta

1.81
(161ns)

1.00
(89ns)

3.93
(350ns)

2.60
(231ns)


Table 2. Compiler Comparison on linux

Function

GNU C++ version 5.1.0
boost 1.59

GNU C++ version 5.1.0
boost 1.59
promote_double<false>

Intel C++ C++0x mode version 1500
boost 1.59

Intel C++ C++0x mode version 1500
boost 1.59
promote_double<false>

Clang version 3.7.0 (trunk 236512)
boost 1.59

Clang version 3.7.0 (trunk 236512)
boost 1.59
promote_double<false>

assoc_laguerre

1.23
(218ns)

1.05
(186ns)

1.21
(215ns)

1.00
(177ns)

1.23
(217ns)

1.25
(222ns)

assoc_legendre

2.84
(241ns)

1.14
(97ns)

1.92
(163ns)

1.00
(85ns)

2.98
(253ns)

1.18
(100ns)

beta

8.62
(698ns)

1.86
(151ns)

5.99
(485ns)

1.00
(81ns)

9.21
(746ns)

1.86
(151ns)

beta (incomplete)

4.74
(1746ns)

1.51
(555ns)

3.36
(1235ns)

1.00
(368ns)

4.97
(1828ns)

1.51
(554ns)

cbrt

2.56
(41ns)

1.06
(17ns)

2.31
(37ns)

1.12
(18ns)

2.81
(45ns)

1.00
(16ns)

cyl_bessel_i

4.41
(1354ns)

1.24
(381ns)

3.72
(1142ns)

1.00
(307ns)

4.76
(1461ns)

1.28
(394ns)

cyl_bessel_i (integer order)

3.62
(752ns)

1.11
(231ns)

3.38
(702ns)

1.00
(208ns)

4.13
(859ns)

1.17
(243ns)

cyl_bessel_j

3.26
(1029ns)

1.21
(382ns)

2.94
(930ns)

1.00
(316ns)

3.55
(1123ns)

1.33
(420ns)

cyl_bessel_j (integer order)

3.49
(258ns)

1.31
(97ns)

2.92
(216ns)

1.00
(74ns)

3.80
(281ns)

1.30
(96ns)

cyl_bessel_k

7.29
(4416ns)

1.06
(643ns)

7.21
(4370ns)

1.00
(606ns)

7.96
(4826ns)

1.22
(741ns)

cyl_bessel_k (integer order)

10.29
(3456ns)

1.00
(336ns)

11.07
(3721ns)

1.01
(338ns)

15.39
(5170ns)

1.12
(377ns)

cyl_neumann

2.90
(1418ns)

1.17
(574ns)

2.74
(1338ns)

1.00
(489ns)

3.51
(1714ns)

1.21
(594ns)

cyl_neumann (integer order)

2.19
(532ns)

1.06
(258ns)

2.29
(557ns)

1.00
(243ns)

2.93
(713ns)

1.11
(269ns)

digamma

2.79
(67ns)

1.50
(36ns)

2.21
(53ns)

1.00
(24ns)

2.92
(70ns)

1.46
(35ns)

ellint_1

2.03
(349ns)

1.04
(179ns)

2.19
(377ns)

1.00
(172ns)

4.26
(732ns)

1.01
(173ns)

ellint_1 (complete)

2.52
(53ns)

1.19
(25ns)

1.95
(41ns)

1.00
(21ns)

2.29
(48ns)

1.29
(27ns)

ellint_2

2.74
(779ns)

1.19
(339ns)

3.30
(936ns)

1.00
(284ns)

4.79
(1359ns)

1.16
(329ns)

ellint_2 (complete)

2.07
(56ns)

1.19
(32ns)

2.22
(60ns)

1.00
(27ns)

2.00
(54ns)

1.19
(32ns)

ellint_3

3.42
(2031ns)

1.26
(748ns)

3.40
(2016ns)

1.00
(593ns)

4.84
(2873ns)

1.22
(726ns)

ellint_3 (complete)

3.21
(1131ns)

1.29
(455ns)

3.07
(1080ns)

1.00
(352ns)

4.12
(1452ns)

1.27
(447ns)

ellint_rc

2.34
(75ns)

1.44
(46ns)

1.59
(51ns)

1.00
(32ns)

2.38
(76ns)

1.25
(40ns)

ellint_rd

2.58
(488ns)

1.19
(225ns)

2.15
(407ns)

1.00
(189ns)

3.72
(703ns)

1.17
(222ns)

ellint_rf

2.24
(92ns)

1.51
(62ns)

1.63
(67ns)

1.00
(41ns)

2.51
(103ns)

1.37
(56ns)

ellint_rj

3.03
(460ns)

1.30
(198ns)

2.95
(448ns)

1.00
(152ns)

3.89
(591ns)

1.21
(184ns)

erf

2.77
(36ns)

1.00
(13ns)

2.38
(31ns)

1.00
(13ns)

2.77
(36ns)

1.00
(13ns)

erfc

2.79
(53ns)

1.00
(19ns)

2.37
(45ns)

1.00
(19ns)

2.79
(53ns)

1.00
(19ns)

expint

2.87
(89ns)

1.10
(34ns)

2.26
(70ns)

1.00
(31ns)

2.71
(84ns)

1.10
(34ns)

expint (En)

2.20
(244ns)

1.20
(133ns)

1.95
(217ns)

1.00
(111ns)

2.39
(265ns)

1.39
(154ns)

expm1

1.50
(12ns)

1.25
(10ns)

1.50
(12ns)

1.00
(8ns)

1.12
(9ns)

1.25
(10ns)

gamma_p

3.13
(454ns)

1.30
(189ns)

2.54
(369ns)

1.00
(145ns)

3.26
(473ns)

1.30
(188ns)

gamma_p_inv

3.11
(1497ns)

1.42
(684ns)

2.29
(1100ns)

1.00
(481ns)

3.13
(1506ns)

1.41
(678ns)

gamma_q

3.43
(466ns)

1.38
(188ns)

2.66
(362ns)

1.00
(136ns)

3.44
(468ns)

1.36
(185ns)

gamma_q_inv

4.93
(1756ns)

1.92
(683ns)

2.85
(1016ns)

1.00
(356ns)

4.87
(1734ns)

1.94
(691ns)

ibeta

4.52
(1641ns)

1.61
(584ns)

3.33
(1208ns)

1.00
(363ns)

4.75
(1725ns)

1.56
(566ns)

ibeta_inv

3.57
(5230ns)

1.43
(2093ns)

2.92
(4275ns)

1.00
(1465ns)

3.82
(5597ns)

1.43
(2098ns)

ibetac

4.62
(1650ns)

1.64
(586ns)

3.30
(1177ns)

1.00
(357ns)

4.83
(1724ns)

1.59
(566ns)

ibetac_inv

3.58
(5308ns)

1.45
(2141ns)

2.92
(4329ns)

1.00
(1481ns)

3.85
(5703ns)

1.42
(2106ns)

jacobi_cn

3.73
(466ns)

1.33
(166ns)

2.76
(345ns)

1.00
(125ns)

3.85
(481ns)

1.36
(170ns)

jacobi_dn

3.46
(457ns)

1.25
(165ns)

2.74
(362ns)

1.00
(132ns)

3.58
(472ns)

1.27
(167ns)

jacobi_sn

3.75
(465ns)

1.34
(166ns)

2.55
(316ns)

1.00
(124ns)

3.84
(476ns)

1.38
(171ns)

laguerre

1.21
(142ns)

1.03
(121ns)

1.20
(140ns)

1.00
(117ns)

1.18
(138ns)

1.28
(150ns)

legendre

1.16
(385ns)

1.00
(332ns)

1.36
(450ns)

1.14
(377ns)

1.15
(381ns)

1.08
(358ns)

legendre Q

1.21
(466ns)

1.00
(384ns)

1.39
(534ns)

1.19
(457ns)

1.21
(464ns)

1.03
(396ns)

lgamma

3.70
(244ns)

1.68
(111ns)

2.76
(182ns)

1.00
(66ns)

3.95
(261ns)

1.67
(110ns)

log1p

1.00
(11ns)

1.00
(11ns)

1.18
(13ns)

1.09
(12ns)

1.00
(11ns)

1.00
(11ns)

polygamma

10.22
(2791ns)

2.64
(722ns)

5.34
(1459ns)

1.00
(273ns)

10.25
(2798ns)

2.65
(723ns)

sph_bessel

1.81
(1520ns)

1.05
(883ns)

1.69
(1413ns)

1.00
(838ns)

1.92
(1605ns)

1.05
(880ns)

sph_neumann

2.16
(3368ns)

1.01
(1575ns)

2.25
(3514ns)

1.00
(1559ns)

2.42
(3772ns)

1.04
(1620ns)

tgamma

6.28
(333ns)

1.75
(93ns)

3.83
(203ns)

1.00
(53ns)

6.68
(354ns)

1.77
(94ns)

tgamma (incomplete)

3.34
(691ns)

1.42
(293ns)

2.39
(495ns)

1.00
(207ns)

3.51
(726ns)

1.40
(289ns)

trigamma

1.58
(30ns)

1.00
(19ns)

1.74
(33ns)

1.05
(20ns)

1.89
(36ns)

1.11
(21ns)

zeta

4.35
(492ns)

1.61
(182ns)

2.98
(337ns)

1.00
(113ns)

4.11
(464ns)

1.54
(174ns)


Table 3. Compiler Option Comparison on Windows x64

Function

cl /Od (x86 build)

cl /Ox (x64 build)

cl /arch:sse2 /Ox (x86 build)

icl /Ox (x64 build)

boost::math::cbrt

21.80
(327ns)

3.33
(50ns)

4.13
(62ns)

1.00
(15ns)

boost::math::cyl_bessel_j (integer orders)

13.87
(1040ns)

1.63
(122ns)

1.59
(119ns)

1.00
(75ns)

boost::math::ibeta_inv

4.76
(7597ns)

1.23
(1963ns)

1.48
(2364ns)

1.00
(1596ns)


Table 4. Distribution performance comparison with Clang version 3.7.0 (trunk 236512) on linux

Function

boost 1.59

Boost
promote_double<false>

GSL

Rmath 3.0.2

DCDFLIB

ArcSine (CDF)

1.02
(51ns)

1.00
(50ns)

ArcSine (PDF)

1.05
(20ns)

1.00
(19ns)

ArcSine (quantile)

1.00
(29ns)

1.00
(29ns)

Beta (CDF)

2.61
(451ns)

1.00
(173ns)

2.79
(482ns)

1.67
(289ns)

2.45
(423ns)

Beta (PDF)

3.38
(382ns)

1.00
(113ns)

-

2.09
(236ns)

Beta (quantile)

2.63
(2845ns)

1.00
(1083ns)

14.26
(15440ns)

16.12
(17458ns)

8.01
(8679ns)

Binomial (CDF)

2.00
(1239ns)

1.00
(620ns)

1.44
(892ns)

1.21
(749ns)

1.25
(776ns)

Binomial (PDF)

2.89
(413ns)

1.00
(143ns)

-

1.24
(177ns)

Binomial (quantile)

2.75
(5472ns)

1.49
(2957ns)

-

1.00
(1988ns)

5.95
(11830ns)

Cauchy (CDF)

1.48
(31ns)

1.48
(31ns)

1.00
(21ns)

1.43
(30ns)

Cauchy (PDF)

1.00
(9ns)

1.00
(9ns)

-

1.22
(11ns)

Cauchy (quantile)

1.00
(48ns)

1.00
(48ns)

52.25
(2508ns)

52.19
(2505ns)

ChiSquared (CDF)

2.33
(497ns)

1.11
(237ns)

18.16
(3869ns)

1.33
(284ns)

1.00
(213ns)

ChiSquared (PDF)

3.93
(436ns)

1.08
(120ns)

-

1.00
(111ns)

ChiSquared (quantile)

1.90
(1269ns)

1.00
(668ns)

53.46
(35709ns)

2.43
(1620ns)

7.55
(5045ns)

Exponential (CDF)

1.00
(19ns)

1.05
(20ns)

1.21
(23ns)

1.47
(28ns)

Exponential (PDF)

1.00
(23ns)

1.00
(23ns)

-

1.39
(32ns)

Exponential (quantile)

1.47
(22ns)

1.47
(22ns)

1.00
(15ns)

1.47
(22ns)

ExtremeValue (CDF)

1.00
(51ns)

1.00
(51ns)

ExtremeValue (PDF)

1.01
(71ns)

1.00
(70ns)

ExtremeValue (quantile)

1.00
(66ns)

1.00
(66ns)

F (CDF)

1.94
(1094ns)

1.00
(564ns)

1.60
(900ns)

1.07
(605ns)

1.09
(615ns)

F (PDF)

3.17
(437ns)

1.00
(138ns)

-

1.29
(178ns)

F (quantile)

2.01
(3049ns)

1.00
(1516ns)

9.74
(14768ns)

1.98
(2996ns)

5.85
(8871ns)

Gamma (CDF)

2.58
(573ns)

1.09
(243ns)

6.66
(1478ns)

1.52
(337ns)

1.00
(222ns)

Gamma (PDF)

3.43
(539ns)

1.00
(157ns)

-

1.03
(161ns)

Gamma (quantile)

2.24
(1803ns)

1.00
(804ns)

14.09
(11325ns)

2.18
(1756ns)

1.03
(827ns)

Geometric (CDF)

1.00
(25ns)

1.04
(26ns)

1.00
(25ns)

2.24
(56ns)

Geometric (PDF)

1.03
(35ns)

1.00
(34ns)

-

6.12
(208ns)

Geometric (quantile)

1.00
(22ns)

1.00
(22ns)

-

2.32
(51ns)

Hypergeometric (CDF)

11.42
(10576ns)

6.39
(5915ns)

1.63
(1505ns)

1.00
(926ns)

Hypergeometric (PDF)

23.08
(10156ns)

12.95
(5696ns)

-

1.00
(440ns)

Hypergeometric (quantile)

1.00
(52169ns)

1.60
(83543ns)

-

1.60
(83406ns)

InverseChiSquared (CDF)

2.05
(483ns)

1.00
(236ns)

InverseChiSquared (PDF)

3.22
(419ns)

1.00
(130ns)

InverseChiSquared (quantile)

1.88
(1264ns)

1.00
(671ns)

InverseGamma (CDF)

2.39
(559ns)

1.00
(234ns)

InverseGamma (PDF)

3.36
(535ns)

1.00
(159ns)

InverseGamma (quantile)

2.23
(1758ns)

1.00
(787ns)

InverseGaussian (CDF)

1.00
(110ns)

1.00
(110ns)

InverseGaussian (PDF)

1.00
(20ns)

1.00
(20ns)

InverseGaussian (quantile)

1.00
(2023ns)

1.00
(2014ns)

Laplace (CDF)

1.50
(30ns)

1.50
(30ns)

1.00
(20ns)

Laplace (PDF)

1.00
(31ns)

1.00
(31ns)

Laplace (quantile)

1.25
(35ns)

1.25
(35ns)

1.00
(28ns)

LogNormal (CDF)

1.62
(112ns)

1.00
(69ns)

1.07
(74ns)

1.46
(101ns)

LogNormal (PDF)

1.00
(65ns)

1.00
(65ns)

-

1.02
(66ns)

LogNormal (quantile)

1.42
(98ns)

1.30
(90ns)

1.00
(69ns)

1.23
(85ns)

Logistic (CDF)

1.10
(32ns)

1.10
(32ns)

1.00
(29ns)

1.17
(34ns)

Logistic (PDF)

1.17
(35ns)

1.17
(35ns)

-

1.00
(30ns)

Logistic (quantile)

1.22
(39ns)

1.22
(39ns)

1.00
(32ns)

1.19
(38ns)

NegativeBinomial (CDF)

2.32
(1878ns)

1.22
(986ns)

1.58
(1282ns)

1.07
(866ns)

1.00
(810ns)

NegativeBinomial (PDF)

2.97
(424ns)

1.00
(143ns)

-

1.27
(182ns)

NegativeBinomial (quantile)

1.96
(9579ns)

1.00
(4894ns)

-

3.37
(16469ns)

3.08
(15093ns)

NonCentralBeta (CDF)

2.27
(2634ns)

1.30
(1509ns)

-

1.00
(1158ns)

NonCentralBeta (PDF)

2.21
(2051ns)

1.20
(1113ns)

-

1.00
(929ns)

NonCentralBeta (quantile)

2.00
(62703ns)

1.00
(31380ns)

-

2.60
(81445ns)

NonCentralChiSquared (CDF)

10.41
(6934ns)

6.37
(4240ns)

-

15.70
(10459ns)

1.00
(666ns)

NonCentralChiSquared (PDF)

3.01
(1305ns)

2.12
(919ns)

-

1.00
(434ns)

NonCentralChiSquared (quantile)

3.52
(51061ns)

1.74
(25208ns)

-

36.03
(523301ns)

1.00
(14523ns)

NonCentralF (CDF)

2.10
(2648ns)

1.17
(1470ns)

-

1.00
(1260ns)

1.15
(1447ns)

NonCentralF (PDF)

2.59
(2213ns)

1.25
(1068ns)

-

1.00
(856ns)

NonCentralF (quantile)

2.37
(40513ns)

1.22
(20779ns)

-

3.90
(66620ns)

1.00
(17083ns)

NonCentralT (CDF)

5.03
(9603ns)

3.19
(6088ns)

-

1.00
(1911ns)

1.82
(3481ns)

NonCentralT (PDF)

1.87
(7271ns)

1.17
(4553ns)

-

1.00
(3885ns)

NonCentralT (quantile)

2.00
(101058ns)

1.15
(58418ns)

-

1.72
(86924ns)

1.00
(50591ns)

Normal (CDF)

2.44
(78ns)

1.09
(35ns)

1.00
(32ns)

1.91
(61ns)

6.00
(192ns)

Normal (PDF)

1.00
(32ns)

1.00
(32ns)

-

1.19
(38ns)

Normal (quantile)

2.03
(65ns)

1.75
(56ns)

1.00
(32ns)

1.38
(44ns)

17.00
(544ns)

Pareto (CDF)

1.37
(67ns)

1.31
(64ns)

1.00
(49ns)

Pareto (PDF)

1.00
(92ns)

1.00
(92ns)

Pareto (quantile)

1.16
(58ns)

1.16
(58ns)

1.00
(50ns)

Poisson (CDF)

2.02
(245ns)

1.00
(121ns)

5.88
(711ns)

2.20
(266ns)

1.60
(194ns)

Poisson (PDF)

2.88
(242ns)

1.00
(84ns)

-

1.08
(91ns)

Poisson (quantile)

1.96
(1104ns)

1.00
(562ns)

-

1.14
(642ns)

5.06
(2841ns)

Rayleigh (CDF)

1.10
(23ns)

1.19
(25ns)

1.00
(21ns)

Rayleigh (PDF)

1.00
(26ns)

1.00
(26ns)

Rayleigh (quantile)

1.15
(23ns)

1.15
(23ns)

1.00
(20ns)

SkewNormal (CDF)

1.11
(463ns)

1.00
(419ns)

SkewNormal (PDF)

1.48
(102ns)

1.00
(69ns)

SkewNormal (quantile)

1.12
(3605ns)

1.00
(3212ns)

StudentsT (CDF)

5.77
(1483ns)

1.65
(425ns)

1.00
(257ns)

1.35
(346ns)

1.68
(433ns)

StudentsT (PDF)

5.55
(710ns)

1.50
(192ns)

-

1.00
(128ns)

StudentsT (quantile)

3.33
(2526ns)

1.00
(759ns)

1.44
(1090ns)

1.21
(916ns)

4.68
(3551ns)

Weibull (CDF)

1.23
(98ns)

1.11
(89ns)

1.00
(80ns)

1.21
(97ns)

Weibull (PDF)

1.58
(155ns)

1.58
(155ns)

-

1.00
(98ns)

Weibull (quantile)

1.11
(92ns)

1.11
(92ns)

1.00
(83ns)

1.14
(95ns)


Table 5. Distribution performance comparison with GNU C++ version 4.9.2 on Windows x64

Function

boost 1.59

Boost
promote_double<false>

DCDFLIB

ArcSine (CDF)

1.00
(34ns)

1.00
(34ns)

ArcSine (PDF)

1.00
(9ns)

1.00
(9ns)

ArcSine (quantile)

1.00
(45ns)

1.00
(45ns)

Beta (CDF)

1.75
(356ns)

1.00
(203ns)

2.02
(411ns)

Beta (PDF)

2.17
(317ns)

1.00
(146ns)

Beta (quantile)

1.70
(2145ns)

1.00
(1261ns)

7.35
(9266ns)

Binomial (CDF)

1.71
(1079ns)

1.00
(631ns)

1.20
(755ns)

Binomial (PDF)

2.09
(343ns)

1.00
(164ns)

Binomial (quantile)

1.77
(5291ns)

1.00
(2995ns)

4.04
(12113ns)

Cauchy (CDF)

1.00
(25ns)

1.04
(26ns)

Cauchy (PDF)

1.00
(8ns)

1.00
(8ns)

Cauchy (quantile)

1.04
(26ns)

1.00
(25ns)

ChiSquared (CDF)

2.28
(491ns)

1.27
(274ns)

1.00
(215ns)

ChiSquared (PDF)

1.72
(244ns)

1.00
(142ns)

ChiSquared (quantile)

1.44
(1151ns)

1.00
(802ns)

5.80
(4654ns)

Exponential (CDF)

1.26
(44ns)

1.00
(35ns)

Exponential (PDF)

1.03
(61ns)

1.00
(59ns)

Exponential (quantile)

1.75
(49ns)

1.00
(28ns)

ExtremeValue (CDF)

1.01
(105ns)

1.00
(104ns)

ExtremeValue (PDF)

1.00
(144ns)

1.01
(146ns)

ExtremeValue (quantile)

1.00
(69ns)

1.00
(69ns)

F (CDF)

1.70
(914ns)

1.00
(538ns)

1.17
(628ns)

F (PDF)

2.13
(338ns)

1.00
(159ns)

F (quantile)

1.69
(2564ns)

1.00
(1514ns)

5.96
(9023ns)

Gamma (CDF)

1.94
(447ns)

1.23
(284ns)

1.00
(230ns)

Gamma (PDF)

1.55
(300ns)

1.00
(193ns)

Gamma (quantile)

1.88
(1311ns)

1.33
(932ns)

1.00
(699ns)

Geometric (CDF)

1.44
(46ns)

1.00
(32ns)

Geometric (PDF)

1.00
(49ns)

1.00
(49ns)

Geometric (quantile)

1.54
(40ns)

1.00
(26ns)

Hypergeometric (CDF)

1.87
(10685ns)

1.00
(5723ns)

Hypergeometric (PDF)

1.87
(10291ns)

1.00
(5516ns)

Hypergeometric (quantile)

1.00
(54303ns)

1.70
(92492ns)

InverseChiSquared (CDF)

1.73
(447ns)

1.00
(259ns)

InverseChiSquared (PDF)

1.68
(242ns)

1.00
(144ns)

InverseChiSquared (quantile)

1.48
(1099ns)

1.00
(741ns)

InverseGamma (CDF)

1.58
(446ns)

1.00
(282ns)

InverseGamma (PDF)

1.53
(299ns)

1.00
(195ns)

InverseGamma (quantile)

1.42
(1316ns)

1.00
(926ns)

InverseGaussian (CDF)

1.00
(99ns)

1.00
(99ns)

InverseGaussian (PDF)

1.00
(30ns)

1.00
(30ns)

InverseGaussian (quantile)

1.00
(1877ns)

1.01
(1894ns)

Laplace (CDF)

1.00
(50ns)

1.00
(50ns)

Laplace (PDF)

1.00
(49ns)

1.00
(49ns)

Laplace (quantile)

1.03
(34ns)

1.00
(33ns)

LogNormal (CDF)

1.24
(103ns)

1.00
(83ns)

LogNormal (PDF)

1.00
(87ns)

1.01
(88ns)

LogNormal (quantile)

1.17
(121ns)

1.00
(103ns)

Logistic (CDF)

1.00
(45ns)

1.02
(46ns)

Logistic (PDF)

1.00
(48ns)

1.00
(48ns)

Logistic (quantile)

1.00
(35ns)

1.03
(36ns)

NegativeBinomial (CDF)

1.97
(1572ns)

1.17
(935ns)

1.00
(800ns)

NegativeBinomial (PDF)

2.12
(350ns)

1.00
(165ns)

NegativeBinomial (quantile)

1.69
(7940ns)

1.00
(4708ns)

3.27
(15377ns)

NonCentralBeta (CDF)

1.57
(2117ns)

1.00
(1346ns)

NonCentralBeta (PDF)

1.57
(1682ns)

1.00
(1073ns)

NonCentralBeta (quantile)

1.59
(46820ns)

1.00
(29517ns)

NonCentralChiSquared (CDF)

10.13
(6393ns)

6.57
(4147ns)

1.00
(631ns)

NonCentralChiSquared (PDF)

1.49
(965ns)

1.00
(647ns)

NonCentralChiSquared (quantile)

3.28
(45376ns)

1.81
(24982ns)

1.00
(13823ns)

NonCentralF (CDF)

1.65
(1979ns)

1.00
(1201ns)

1.24
(1486ns)

NonCentralF (PDF)

1.61
(1571ns)

1.00
(977ns)

NonCentralF (quantile)

1.70
(29812ns)

1.01
(17689ns)

1.00
(17554ns)

NonCentralT (CDF)

2.30
(8204ns)

1.51
(5385ns)

1.00
(3562ns)

NonCentralT (PDF)

1.49
(6298ns)

1.00
(4230ns)

NonCentralT (quantile)

1.70
(87002ns)

1.00
(51240ns)

1.03
(52526ns)

Normal (CDF)

1.42
(78ns)

1.00
(55ns)

2.98
(164ns)

Normal (PDF)

1.03
(60ns)

1.00
(58ns)

Normal (quantile)

1.57
(83ns)

1.00
(53ns)

9.91
(525ns)

Pareto (CDF)

1.13
(77ns)

1.00
(68ns)

Pareto (PDF)

1.00
(81ns)

1.00
(81ns)

Pareto (quantile)

1.00
(70ns)

1.00
(70ns)

Poisson (CDF)

1.62
(227ns)

1.00
(140ns)

1.36
(190ns)

Poisson (PDF)

1.63
(158ns)

1.00
(97ns)

Poisson (quantile)

1.59
(973ns)

1.00
(613ns)

4.38
(2683ns)

Rayleigh (CDF)

1.31
(46ns)

1.00
(35ns)

Rayleigh (PDF)

1.02
(59ns)

1.00
(58ns)

Rayleigh (quantile)

1.70
(46ns)

1.00
(27ns)

SkewNormal (CDF)

1.04
(388ns)

1.00
(373ns)

SkewNormal (PDF)

1.15
(109ns)

1.00
(95ns)

SkewNormal (quantile)

1.10
(3462ns)

1.00
(3161ns)

StudentsT (CDF)

1.93
(768ns)

1.00
(398ns)

1.13
(451ns)

StudentsT (PDF)

1.96
(339ns)

1.00
(173ns)

StudentsT (quantile)

1.75
(1386ns)

1.00
(792ns)

4.52
(3581ns)

Weibull (CDF)

1.15
(86ns)

1.00
(75ns)

Weibull (PDF)

1.00
(136ns)

1.00
(136ns)

Weibull (quantile)

1.14
(122ns)

1.00
(107ns)


Table 6. Distribution performance comparison with GNU C++ version 5.1.0 on linux

Function

boost 1.59

Boost
promote_double<false>

GSL

Rmath 3.0.2

DCDFLIB

ArcSine (CDF)

1.00
(38ns)

1.00
(38ns)

ArcSine (PDF)

1.00
(9ns)

1.00
(9ns)

ArcSine (quantile)

1.00
(20ns)

1.00
(20ns)

Beta (CDF)

2.42
(413ns)

1.00
(171ns)

2.79
(477ns)

1.68
(288ns)

2.47
(422ns)

Beta (PDF)

2.68
(327ns)

1.00
(122ns)

-

1.93
(235ns)

Beta (quantile)

2.40
(2643ns)

1.00
(1101ns)

13.76
(15155ns)

16.19
(17830ns)

7.69
(8471ns)

Binomial (CDF)

1.75
(1042ns)

1.00
(597ns)

1.46
(870ns)

1.25
(746ns)

1.29
(768ns)

Binomial (PDF)

2.27
(345ns)

1.00
(152ns)

-

1.18
(180ns)

Binomial (quantile)

2.37
(4706ns)

1.42
(2818ns)

-

1.00
(1987ns)

5.89
(11709ns)

Cauchy (CDF)

1.25
(25ns)

1.20
(24ns)

1.00
(20ns)

1.45
(29ns)

Cauchy (PDF)

1.00
(8ns)

1.00
(8ns)

-

1.38
(11ns)

Cauchy (quantile)

1.00
(43ns)

1.00
(43ns)

56.63
(2435ns)

58.33
(2508ns)

ChiSquared (CDF)

2.17
(495ns)

1.04
(238ns)

16.71
(3811ns)

1.26
(287ns)

1.00
(228ns)

ChiSquared (PDF)

3.04
(337ns)

1.11
(123ns)

-

1.00
(111ns)

ChiSquared (quantile)

1.88
(1299ns)

1.00
(692ns)

50.92
(35239ns)

2.26
(1562ns)

7.66
(5304ns)

Exponential (CDF)

1.00
(18ns)

1.00
(18ns)

1.22
(22ns)

1.61
(29ns)

Exponential (PDF)

1.00
(25ns)

1.00
(25ns)

-

1.28
(32ns)

Exponential (quantile)

1.53
(23ns)

1.53
(23ns)

1.00
(15ns)

1.47
(22ns)

ExtremeValue (CDF)

1.00
(47ns)

1.02
(48ns)

ExtremeValue (PDF)

1.00
(65ns)

1.02
(66ns)

ExtremeValue (quantile)

1.00
(62ns)

1.02
(63ns)

F (CDF)

1.76
(961ns)

1.00
(545ns)

1.63
(887ns)

1.11
(603ns)

1.12
(608ns)

F (PDF)

2.49
(378ns)

1.00
(152ns)

-

1.17
(178ns)

F (quantile)

1.87
(2753ns)

1.00
(1471ns)

9.77
(14370ns)

2.03
(2983ns)

5.99
(8807ns)

Gamma (CDF)

2.43
(570ns)

1.02
(239ns)

6.24
(1466ns)

1.45
(340ns)

1.00
(235ns)

Gamma (PDF)

2.90
(452ns)

1.00
(156ns)

-

1.03
(160ns)

Gamma (quantile)

2.19
(1787ns)

1.00
(817ns)

14.08
(11500ns)

2.12
(1729ns)

1.03
(843ns)

Geometric (CDF)

1.09
(24ns)

1.00
(22ns)

1.18
(26ns)

2.55
(56ns)

Geometric (PDF)

1.03
(33ns)

1.00
(32ns)

-

6.53
(209ns)

Geometric (quantile)

1.00
(21ns)

1.00
(21ns)

-

2.38
(50ns)

Hypergeometric (CDF)

11.16
(10644ns)

6.25
(5961ns)

1.55
(1476ns)

1.00
(954ns)

Hypergeometric (PDF)

23.39
(10316ns)

13.05
(5756ns)

-

1.00
(441ns)

Hypergeometric (quantile)

1.00
(50508ns)

1.69
(85415ns)

-

1.67
(84488ns)

InverseChiSquared (CDF)

2.18
(497ns)

1.00
(228ns)

InverseChiSquared (PDF)

2.42
(327ns)

1.00
(135ns)

InverseChiSquared (quantile)

1.85
(1281ns)

1.00
(693ns)

InverseGamma (CDF)

2.42
(566ns)

1.00
(234ns)

InverseGamma (PDF)

2.84
(452ns)

1.00
(159ns)

InverseGamma (quantile)

2.15
(1750ns)

1.00
(814ns)

InverseGaussian (CDF)

1.01
(102ns)

1.00
(101ns)

InverseGaussian (PDF)

1.00
(18ns)

1.00
(18ns)

InverseGaussian (quantile)

1.00
(1969ns)

1.01
(1981ns)

Laplace (CDF)

1.37
(26ns)

1.32
(25ns)

1.00
(19ns)

Laplace (PDF)

1.04
(27ns)

1.00
(26ns)

Laplace (quantile)

1.11
(30ns)

1.11
(30ns)

1.00
(27ns)

LogNormal (CDF)

1.67
(107ns)

1.00
(64ns)

1.16
(74ns)

1.52
(97ns)

LogNormal (PDF)

1.02
(62ns)

1.00
(61ns)

-

1.10
(67ns)

LogNormal (quantile)

1.40
(95ns)

1.26
(86ns)

1.00
(68ns)

1.28
(87ns)

Logistic (CDF)

1.00
(26ns)

1.04
(27ns)

1.08
(28ns)

1.31
(34ns)

Logistic (PDF)

1.00
(29ns)

1.00
(29ns)

-

1.03
(30ns)

Logistic (quantile)

1.06
(33ns)

1.10
(34ns)

1.00
(31ns)

1.23
(38ns)

NegativeBinomial (CDF)

2.01
(1640ns)

1.17
(955ns)

1.55
(1266ns)

1.06
(862ns)

1.00
(817ns)

NegativeBinomial (PDF)

2.27
(358ns)

1.00
(158ns)

-

1.18
(186ns)

NegativeBinomial (quantile)

1.75
(8427ns)

1.00
(4814ns)

-

3.41
(16439ns)

3.20
(15423ns)

NonCentralBeta (CDF)

2.10
(2451ns)

1.14
(1333ns)

-

1.00
(1167ns)

NonCentralBeta (PDF)

2.03
(1875ns)

1.18
(1087ns)

-

1.00
(923ns)

NonCentralBeta (quantile)

2.11
(58621ns)

1.00
(27810ns)

-

2.92
(81077ns)

NonCentralChiSquared (CDF)

10.14
(6804ns)

6.32
(4244ns)

-

15.64
(10494ns)

1.00
(671ns)

NonCentralChiSquared (PDF)

2.53
(1114ns)

1.48
(651ns)

-

1.00
(440ns)

NonCentralChiSquared (quantile)

3.30
(48267ns)

1.69
(24784ns)

-

35.38
(517836ns)

1.00
(14638ns)

NonCentralF (CDF)

1.89
(2371ns)

1.00
(1257ns)

-

1.00
(1262ns)

1.13
(1418ns)

NonCentralF (PDF)

2.27
(1949ns)

1.19
(1018ns)

-

1.00
(858ns)

NonCentralF (quantile)

2.13
(35608ns)

1.11
(18535ns)

-

3.98
(66459ns)

1.00
(16718ns)

NonCentralT (CDF)

4.96
(9265ns)

3.06
(5710ns)

-

1.00
(1868ns)

1.81
(3378ns)

NonCentralT (PDF)

1.80
(6920ns)

1.20
(4612ns)

-

1.00
(3853ns)

NonCentralT (quantile)

1.92
(95714ns)

1.07
(53580ns)

-

1.74
(86576ns)

1.00
(49862ns)

Normal (CDF)

2.39
(74ns)

1.06
(33ns)

1.00
(31ns)

1.94
(60ns)

6.16
(191ns)

Normal (PDF)

1.00
(30ns)

1.03
(31ns)

-

1.27
(38ns)

Normal (quantile)

1.88
(60ns)

1.47
(47ns)

1.00
(32ns)

1.38
(44ns)

17.03
(545ns)

Pareto (CDF)

1.17
(56ns)

1.19
(57ns)

1.00
(48ns)

Pareto (PDF)

1.00
(87ns)

1.00
(87ns)

Pareto (quantile)

1.12
(54ns)

1.10
(53ns)

1.00
(48ns)

Poisson (CDF)

2.03
(234ns)

1.00
(115ns)

6.10
(701ns)

2.32
(267ns)

1.81
(208ns)

Poisson (PDF)

2.29
(188ns)

1.00
(82ns)

-

1.11
(91ns)

Poisson (quantile)

1.96
(1053ns)

1.00
(536ns)

-

1.19
(639ns)

5.65
(3030ns)

Rayleigh (CDF)

1.10
(22ns)

1.05
(21ns)

1.00
(20ns)

Rayleigh (PDF)

1.00
(25ns)

1.04
(26ns)

Rayleigh (quantile)

1.20
(24ns)

1.15
(23ns)

1.00
(20ns)

SkewNormal (CDF)

1.08
(438ns)

1.00
(404ns)

SkewNormal (PDF)

1.56
(86ns)

1.00
(55ns)

SkewNormal (quantile)

1.12
(3470ns)

1.00
(3108ns)

StudentsT (CDF)

5.62
(1415ns)

1.77
(445ns)

1.00
(252ns)

1.34
(338ns)

1.73
(437ns)

StudentsT (PDF)

5.16
(655ns)

1.46
(185ns)

-

1.00
(127ns)

StudentsT (quantile)

3.12
(2409ns)

1.00
(773ns)

1.39
(1073ns)

1.20
(924ns)

4.45
(3442ns)

Weibull (CDF)

1.13
(88ns)

1.06
(83ns)

1.00
(78ns)

1.23
(96ns)

Weibull (PDF)

1.48
(147ns)

1.51
(149ns)

-

1.00
(99ns)

Weibull (quantile)

1.07
(87ns)

1.06
(86ns)

1.00
(81ns)

1.12
(91ns)


Table 7. Distribution performance comparison with Intel C++ C++0x mode version 1500 on Windows x64

Function

boost 1.59

DCDFLIB

ArcSine (CDF)

1.00
(35ns)

ArcSine (PDF)

1.00
(15ns)

ArcSine (quantile)

1.00
(25ns)

Beta (CDF)

1.00
(153ns)

2.15
(329ns)

Beta (PDF)

1.00
(138ns)

Beta (quantile)

1.00
(823ns)

7.52
(6189ns)

Binomial (CDF)

1.00
(602ns)

1.09
(656ns)

Binomial (PDF)

1.00
(175ns)

Binomial (quantile)

1.00
(2714ns)

3.77
(10235ns)

Cauchy (CDF)

1.00
(21ns)

Cauchy (PDF)

1.00
(7ns)

Cauchy (quantile)

1.00
(23ns)

ChiSquared (CDF)

1.39
(213ns)

1.00
(153ns)

ChiSquared (PDF)

1.00
(96ns)

ChiSquared (quantile)

1.00
(557ns)

6.67
(3717ns)

Exponential (CDF)

1.00
(13ns)

Exponential (PDF)

1.00
(14ns)

Exponential (quantile)

1.00
(18ns)

ExtremeValue (CDF)

1.00
(30ns)

ExtremeValue (PDF)

1.00
(32ns)

ExtremeValue (quantile)

1.00
(33ns)

F (CDF)

1.08
(561ns)

1.00
(518ns)

F (PDF)

1.00
(187ns)

F (quantile)

1.00
(1229ns)

6.23
(7653ns)

Gamma (CDF)

1.21
(199ns)

1.00
(164ns)

Gamma (PDF)

1.00
(121ns)

Gamma (quantile)

1.30
(677ns)

1.00
(519ns)

Geometric (CDF)

1.00
(19ns)

Geometric (PDF)

1.00
(20ns)

Geometric (quantile)

1.00
(20ns)

Hypergeometric (CDF)

1.00
(6094ns)

Hypergeometric (PDF)

1.00
(5904ns)

Hypergeometric (quantile)

1.00
(41294ns)

InverseChiSquared (CDF)

1.00
(211ns)

InverseChiSquared (PDF)

1.00
(115ns)

InverseChiSquared (quantile)

1.00
(586ns)

InverseGamma (CDF)

1.00
(194ns)

InverseGamma (PDF)

1.00
(124ns)

InverseGamma (quantile)

1.00
(643ns)

InverseGaussian (CDF)

1.00
(50ns)

InverseGaussian (PDF)

1.00
(12ns)

InverseGaussian (quantile)

1.00
(791ns)

Laplace (CDF)

1.00
(15ns)

Laplace (PDF)

1.00
(16ns)

Laplace (quantile)

1.00
(18ns)

LogNormal (CDF)

1.00
(42ns)

LogNormal (PDF)

1.00
(36ns)

LogNormal (quantile)

1.00
(68ns)

Logistic (CDF)

1.00
(18ns)

Logistic (PDF)

1.00
(21ns)

Logistic (quantile)

1.00
(21ns)

NegativeBinomial (CDF)

1.39
(981ns)

1.00
(705ns)

NegativeBinomial (PDF)

1.00
(190ns)

NegativeBinomial (quantile)

1.00
(4871ns)

2.79
(13572ns)

NonCentralBeta (CDF)

1.00
(1243ns)

NonCentralBeta (PDF)

1.00
(1072ns)

NonCentralBeta (quantile)

1.00
(24745ns)

NonCentralChiSquared (CDF)

8.93
(3985ns)

1.00
(446ns)

NonCentralChiSquared (PDF)

1.00
(520ns)

NonCentralChiSquared (quantile)

2.25
(22610ns)

1.00
(10034ns)

NonCentralF (CDF)

1.26
(1288ns)

1.00
(1026ns)

NonCentralF (PDF)

1.00
(995ns)

NonCentralF (quantile)

1.48
(17859ns)

1.00
(12074ns)

NonCentralT (CDF)

1.71
(5388ns)

1.00
(3155ns)

NonCentralT (PDF)

1.00
(4174ns)

NonCentralT (quantile)

1.16
(50277ns)

1.00
(43216ns)

Normal (CDF)

1.00
(29ns)

3.79
(110ns)

Normal (PDF)

1.00
(22ns)

Normal (quantile)

1.00
(44ns)

7.34
(323ns)

Pareto (CDF)

1.00
(39ns)

Pareto (PDF)

1.00
(61ns)

Pareto (quantile)

1.00
(37ns)

Poisson (CDF)

1.00
(100ns)

1.31
(131ns)

Poisson (PDF)

1.00
(63ns)

Poisson (quantile)

1.00
(467ns)

4.48
(2092ns)

Rayleigh (CDF)

1.00
(16ns)

Rayleigh (PDF)

1.00
(19ns)

Rayleigh (quantile)

1.00
(20ns)

SkewNormal (CDF)

1.00
(182ns)

SkewNormal (PDF)

1.00
(52ns)

SkewNormal (quantile)

1.00
(1407ns)

StudentsT (CDF)

1.24
(351ns)

1.00
(283ns)

StudentsT (PDF)

1.00
(146ns)

StudentsT (quantile)

1.00
(642ns)

3.74
(2403ns)

Weibull (CDF)

1.00
(47ns)

Weibull (PDF)

1.00
(73ns)

Weibull (quantile)

1.00
(48ns)


Table 8. Distribution performance comparison with Intel C++ C++0x mode version 1500 on linux

Function

boost 1.59

Boost
promote_double<false>

GSL

Rmath 3.0.2

DCDFLIB

ArcSine (CDF)

1.00
(35ns)

1.03
(36ns)

ArcSine (PDF)

1.07
(15ns)

1.00
(14ns)

ArcSine (quantile)

1.04
(29ns)

1.00
(28ns)

Beta (CDF)

2.53
(367ns)

1.00
(145ns)

2.74
(398ns)

1.64
(238ns)

1.99
(289ns)

Beta (PDF)

3.61
(357ns)

1.00
(99ns)

-

2.03
(201ns)

Beta (quantile)

2.55
(2035ns)

1.00
(797ns)

14.95
(11914ns)

14.10
(11240ns)

7.28
(5806ns)

Binomial (CDF)

1.87
(1104ns)

1.00
(589ns)

1.43
(841ns)

1.16
(683ns)

1.09
(643ns)

Binomial (PDF)

3.46
(405ns)

1.00
(117ns)

-

1.26
(148ns)

Binomial (quantile)

2.64
(4935ns)

1.43
(2681ns)

-

1.00
(1872ns)

5.27
(9869ns)

Cauchy (CDF)

1.61
(29ns)

1.61
(29ns)

1.00
(18ns)

1.61
(29ns)

Cauchy (PDF)

1.25
(15ns)

1.25
(15ns)

-

1.00
(12ns)

Cauchy (quantile)

1.18
(33ns)

1.18
(33ns)

1.00
(28ns)

1.14
(32ns)

ChiSquared (CDF)

3.01
(458ns)

1.48
(225ns)

26.06
(3961ns)

1.68
(256ns)

1.00
(152ns)

ChiSquared (PDF)

3.16
(272ns)

1.00
(86ns)

-

1.03
(89ns)

ChiSquared (quantile)

1.96
(1139ns)

1.00
(582ns)

61.60
(35851ns)

2.18
(1270ns)

6.00
(3494ns)

Exponential (CDF)

1.11
(20ns)

1.00
(18ns)

1.44
(26ns)

1.56
(28ns)

Exponential (PDF)

1.00
(20ns)

1.00
(20ns)

-

1.20
(24ns)

Exponential (quantile)

1.35
(23ns)

1.35
(23ns)

1.00
(17ns)

1.29
(22ns)

ExtremeValue (CDF)

1.02
(44ns)

1.00
(43ns)

ExtremeValue (PDF)

1.02
(44ns)

1.00
(43ns)

ExtremeValue (quantile)

1.00
(43ns)

1.00
(43ns)

F (CDF)

2.00
(1036ns)

1.03
(534ns)

1.61
(835ns)

1.08
(560ns)

1.00
(518ns)

F (PDF)

3.26
(440ns)

1.00
(135ns)

-

1.07
(144ns)

F (quantile)

2.10
(2648ns)

1.00
(1261ns)

10.06
(12685ns)

2.02
(2553ns)

5.84
(7361ns)

Gamma (CDF)

3.22
(515ns)

1.27
(204ns)

9.26
(1482ns)

1.98
(317ns)

1.00
(160ns)

Gamma (PDF)

3.11
(351ns)

1.00
(113ns)

-

1.11
(125ns)

Gamma (quantile)

2.76
(1391ns)

1.30
(653ns)

21.19
(10680ns)

2.99
(1509ns)

1.00
(504ns)

Geometric (CDF)

1.17
(27ns)

1.00
(23ns)

1.39
(32ns)

2.04
(47ns)

Geometric (PDF)

1.00
(22ns)

1.00
(22ns)

-

9.45
(208ns)

Geometric (quantile)

1.04
(25ns)

1.00
(24ns)

-

2.00
(48ns)

Hypergeometric (CDF)

15.44
(13355ns)

7.87
(6809ns)

1.54
(1334ns)

1.00
(865ns)

Hypergeometric (PDF)

31.64
(11896ns)

16.11
(6057ns)

-

1.00
(376ns)

Hypergeometric (quantile)

1.00
(38561ns)

1.10
(42341ns)

-

1.84
(70828ns)

InverseChiSquared (CDF)

2.18
(475ns)

1.00
(218ns)

InverseChiSquared (PDF)

3.03
(291ns)

1.00
(96ns)

InverseChiSquared (quantile)

1.94
(1128ns)

1.00
(582ns)

InverseGamma (CDF)

2.16
(458ns)

1.00
(212ns)

InverseGamma (PDF)

2.82
(338ns)

1.00
(120ns)

InverseGamma (quantile)

1.84
(1345ns)

1.00
(731ns)

InverseGaussian (CDF)

1.00
(90ns)

1.00
(90ns)

InverseGaussian (PDF)

1.00
(15ns)

1.00
(15ns)

InverseGaussian (quantile)

1.00
(1548ns)

1.00
(1544ns)

Laplace (CDF)

1.32
(25ns)

1.32
(25ns)

1.00
(19ns)

Laplace (PDF)

1.00
(24ns)

1.04
(25ns)

Laplace (quantile)

1.35
(23ns)

1.35
(23ns)

1.00
(17ns)

LogNormal (CDF)

1.61
(90ns)

1.00
(56ns)

1.02
(57ns)

1.25
(70ns)

LogNormal (PDF)

1.05
(46ns)

1.07
(47ns)

-

1.00
(44ns)

LogNormal (quantile)

1.87
(101ns)

1.57
(85ns)

1.00
(54ns)

1.30
(70ns)

Logistic (CDF)

1.00
(29ns)

1.00
(29ns)

1.00
(29ns)

1.00
(29ns)

Logistic (PDF)

1.28
(32ns)

1.32
(33ns)

-

1.00
(25ns)

Logistic (quantile)

1.38
(29ns)

1.33
(28ns)

1.00
(21ns)

1.24
(26ns)

NegativeBinomial (CDF)

2.49
(1723ns)

1.39
(961ns)

1.73
(1196ns)

1.19
(825ns)

1.00
(692ns)

NegativeBinomial (PDF)

3.74
(464ns)

1.00
(124ns)

-

1.27
(158ns)

NegativeBinomial (quantile)

1.91
(9047ns)

1.00
(4726ns)

-

3.34
(15808ns)

2.72
(12876ns)

NonCentralBeta (CDF)

2.34
(2345ns)

1.22
(1218ns)

-

1.00
(1002ns)

NonCentralBeta (PDF)

2.35
(2017ns)

1.19
(1024ns)

-

1.00
(860ns)

NonCentralBeta (quantile)

2.01
(51058ns)

1.00
(25406ns)

-

2.73
(69431ns)

NonCentralChiSquared (CDF)

15.61
(6805ns)

9.08
(3958ns)

-

22.54
(9826ns)

1.00
(436ns)

NonCentralChiSquared (PDF)

2.60
(1067ns)

1.55
(636ns)

-

1.00
(411ns)

NonCentralChiSquared (quantile)

5.14
(49167ns)

2.37
(22715ns)

-

50.96
(487505ns)

1.00
(9566ns)

NonCentralF (CDF)

2.23
(2229ns)

1.16
(1165ns)

-

1.15
(1152ns)

1.00
(1001ns)

NonCentralF (PDF)

2.36
(1856ns)

1.18
(928ns)

-

1.00
(786ns)

NonCentralF (quantile)

2.91
(34381ns)

1.43
(16913ns)

-

4.97
(58816ns)

1.00
(11830ns)

NonCentralT (CDF)

5.23
(8969ns)

3.11
(5329ns)

-

1.00
(1716ns)

1.76
(3020ns)

NonCentralT (PDF)

1.97
(6968ns)

1.18
(4185ns)

-

1.00
(3545ns)

NonCentralT (quantile)

2.29
(95681ns)

1.20
(50205ns)

-

1.93
(80603ns)

1.00
(41770ns)

Normal (CDF)

2.70
(73ns)

1.41
(38ns)

1.00
(27ns)

1.85
(50ns)

3.96
(107ns)

Normal (PDF)

1.04
(27ns)

1.00
(26ns)

-

1.23
(32ns)

Normal (quantile)

2.56
(69ns)

1.78
(48ns)

1.00
(27ns)

1.30
(35ns)

11.63
(314ns)

Pareto (CDF)

1.40
(49ns)

1.26
(44ns)

1.00
(35ns)

Pareto (PDF)

1.00
(63ns)

1.00
(63ns)

Pareto (quantile)

1.00
(38ns)

1.03
(39ns)

1.00
(38ns)

Poisson (CDF)

2.27
(227ns)

1.00
(100ns)

7.00
(700ns)

2.41
(241ns)

1.30
(130ns)

Poisson (PDF)

3.09
(176ns)

1.00
(57ns)

-

1.04
(59ns)

Poisson (quantile)

2.16
(1027ns)

1.00
(476ns)

-

1.22
(581ns)

4.39
(2090ns)

Rayleigh (CDF)

1.04
(24ns)

1.00
(23ns)

1.00
(23ns)

Rayleigh (PDF)

1.04
(25ns)

1.00
(24ns)

Rayleigh (quantile)

1.26
(24ns)

1.26
(24ns)

1.00
(19ns)

SkewNormal (CDF)

1.09
(407ns)

1.00
(375ns)

SkewNormal (PDF)

1.31
(102ns)

1.00
(78ns)

SkewNormal (quantile)

1.18
(3063ns)

1.00
(2590ns)

StudentsT (CDF)

3.94
(910ns)

1.33
(308ns)

1.00
(231ns)

1.18
(273ns)

1.23
(285ns)

StudentsT (PDF)

3.72
(409ns)

1.19
(131ns)

-

1.00
(110ns)

StudentsT (quantile)

2.52
(1460ns)

1.00
(580ns)

1.48
(859ns)

1.29
(750ns)

4.08
(2368ns)

Weibull (CDF)

1.09
(61ns)

1.00
(56ns)

1.00
(56ns)

1.07
(60ns)

Weibull (PDF)

1.39
(85ns)

1.38
(84ns)

-

1.00
(61ns)

Weibull (quantile)

1.14
(56ns)

1.12
(55ns)

1.00
(49ns)

1.06
(52ns)


Table 9. Distribution performance comparison with Microsoft Visual C++ version 14.0 on Windows x64

Function

boost 1.59

DCDFLIB

ArcSine (CDF)

1.00
(40ns)

ArcSine (PDF)

1.00
(16ns)

ArcSine (quantile)

1.00
(19ns)

Beta (CDF)

1.00
(181ns)

2.28
(412ns)

Beta (PDF)

1.00
(141ns)

Beta (quantile)

1.00
(1051ns)

7.79
(8187ns)

Binomial (CDF)

1.00
(676ns)

1.25
(845ns)

Binomial (PDF)

1.00
(189ns)

Binomial (quantile)

1.00
(3128ns)

4.25
(13307ns)

Cauchy (CDF)

1.00
(30ns)

Cauchy (PDF)

1.00
(11ns)

Cauchy (quantile)

1.00
(21ns)

ChiSquared (CDF)

1.36
(266ns)

1.00
(195ns)

ChiSquared (PDF)

1.00
(126ns)

ChiSquared (quantile)

1.00
(707ns)

7.35
(5195ns)

Exponential (CDF)

1.00
(15ns)

Exponential (PDF)

1.00
(17ns)

Exponential (quantile)

1.00
(20ns)

ExtremeValue (CDF)

1.00
(40ns)

ExtremeValue (PDF)

1.00
(41ns)

ExtremeValue (quantile)

1.00
(30ns)

F (CDF)

1.00
(612ns)

1.08
(661ns)

F (PDF)

1.00
(201ns)

F (quantile)

1.00
(1424ns)

6.92
(9860ns)

Gamma (CDF)

1.17
(244ns)

1.00
(208ns)

Gamma (PDF)

1.00
(158ns)

Gamma (quantile)

1.10
(815ns)

1.00
(741ns)

Geometric (CDF)

1.00
(22ns)

Geometric (PDF)

1.00
(25ns)

Geometric (quantile)

1.00
(21ns)

Hypergeometric (CDF)

1.00
(6526ns)

Hypergeometric (PDF)

1.00
(6385ns)

Hypergeometric (quantile)

1.00
(34421ns)

InverseChiSquared (CDF)

1.00
(259ns)

InverseChiSquared (PDF)

1.00
(144ns)

InverseChiSquared (quantile)

1.00
(765ns)

InverseGamma (CDF)

1.00
(240ns)

InverseGamma (PDF)

1.00
(165ns)

InverseGamma (quantile)

1.00
(814ns)

InverseGaussian (CDF)

1.00
(62ns)

InverseGaussian (PDF)

1.00
(16ns)

InverseGaussian (quantile)

1.00
(1125ns)

Laplace (CDF)

1.00
(22ns)

Laplace (PDF)

1.00
(24ns)

Laplace (quantile)

1.00
(17ns)

LogNormal (CDF)

1.00
(48ns)

LogNormal (PDF)

1.00
(42ns)

LogNormal (quantile)

1.00
(84ns)

Logistic (CDF)

1.00
(25ns)

Logistic (PDF)

1.00
(31ns)

Logistic (quantile)

1.00
(21ns)

NegativeBinomial (CDF)

1.24
(1078ns)

1.00
(867ns)

NegativeBinomial (PDF)

1.00
(209ns)

NegativeBinomial (quantile)

1.00
(5530ns)

3.11
(17192ns)

NonCentralBeta (CDF)

1.00
(1424ns)

NonCentralBeta (PDF)

1.00
(1178ns)

NonCentralBeta (quantile)

1.00
(28670ns)

NonCentralChiSquared (CDF)

8.18
(4583ns)

1.00
(560ns)

NonCentralChiSquared (PDF)

1.00
(601ns)

NonCentralChiSquared (quantile)

1.97
(26962ns)

1.00
(13658ns)

NonCentralF (CDF)

1.00
(1364ns)

1.13
(1547ns)

NonCentralF (PDF)

1.00
(1093ns)

NonCentralF (quantile)

1.07
(19891ns)

1.00
(18667ns)

NonCentralT (CDF)

1.61
(5905ns)

1.00
(3665ns)

NonCentralT (PDF)

1.00
(4548ns)

NonCentralT (quantile)

1.03
(55584ns)

1.00
(54088ns)

Normal (CDF)

1.00
(41ns)

4.10
(168ns)

Normal (PDF)

1.00
(31ns)

Normal (quantile)

1.00
(38ns)

11.26
(428ns)

Pareto (CDF)

1.00
(44ns)

Pareto (PDF)

1.00
(113ns)

Pareto (quantile)

1.00
(42ns)

Poisson (CDF)

1.00
(120ns)

1.43
(171ns)

Poisson (PDF)

1.00
(79ns)

Poisson (quantile)

1.00
(595ns)

4.62
(2748ns)

Rayleigh (CDF)

1.00
(21ns)

Rayleigh (PDF)

1.00
(21ns)

Rayleigh (quantile)

1.00
(23ns)

SkewNormal (CDF)

1.00
(224ns)

SkewNormal (PDF)

1.00
(80ns)

SkewNormal (quantile)

1.00
(2012ns)

StudentsT (CDF)

1.09
(440ns)

1.00
(405ns)

StudentsT (PDF)

1.00
(206ns)

StudentsT (quantile)

1.00
(822ns)

4.18
(3438ns)

Weibull (CDF)

1.00
(72ns)

Weibull (PDF)

1.00
(134ns)

Weibull (quantile)

1.00
(66ns)


Table 10. Distribution performance comparison for different performance options with Clang version 3.7.0 (trunk 236512) on linux

Function

boost 1.59

Boost
promote_double<false>

Boost
promote_double<false>
digits10<10>

Boost
float
promote_float<false>

ArcSine (CDF)

1.55
(51ns)

1.52
(50ns)

1.55
(51ns)

1.00
(33ns)

ArcSine (PDF)

1.05
(20ns)

1.00
(19ns)

1.00
(19ns)

1.00
(19ns)

ArcSine (quantile)

1.12
(29ns)

1.12
(29ns)

1.12
(29ns)

1.00
(26ns)

Beta (CDF)

3.44
(451ns)

1.32
(173ns)

1.19
(156ns)

1.00
(131ns)

Beta (PDF)

3.44
(382ns)

1.02
(113ns)

1.00
(111ns)

1.07
(119ns)

Beta (quantile)

3.93
(2845ns)

1.50
(1083ns)

1.18
(850ns)

1.00
(723ns)

Binomial (CDF)

4.47
(1239ns)

2.24
(620ns)

1.71
(474ns)

1.00
(277ns)

Binomial (PDF)

2.95
(413ns)

1.02
(143ns)

1.00
(140ns)

1.02
(143ns)

Binomial (quantile)

3.89
(5472ns)

2.10
(2957ns)

1.62
(2276ns)

1.00
(1407ns)

Cauchy (CDF)

1.11
(31ns)

1.11
(31ns)

1.11
(31ns)

1.00
(28ns)

Cauchy (PDF)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

Cauchy (quantile)

1.45
(48ns)

1.45
(48ns)

1.45
(48ns)

1.00
(33ns)

ChiSquared (CDF)

4.14
(497ns)

1.98
(237ns)

1.65
(198ns)

1.00
(120ns)

ChiSquared (PDF)

4.64
(436ns)

1.28
(120ns)

1.23
(116ns)

1.00
(94ns)

ChiSquared (quantile)

3.78
(1269ns)

1.99
(668ns)

1.49
(500ns)

1.00
(336ns)

Exponential (CDF)

1.12
(19ns)

1.18
(20ns)

1.18
(20ns)

1.00
(17ns)

Exponential (PDF)

1.53
(23ns)

1.53
(23ns)

1.53
(23ns)

1.00
(15ns)

Exponential (quantile)

1.00
(22ns)

1.00
(22ns)

1.00
(22ns)

1.00
(22ns)

ExtremeValue (CDF)

1.24
(51ns)

1.24
(51ns)

1.24
(51ns)

1.00
(41ns)

ExtremeValue (PDF)

1.69
(71ns)

1.67
(70ns)

1.67
(70ns)

1.00
(42ns)

ExtremeValue (quantile)

1.50
(66ns)

1.50
(66ns)

1.48
(65ns)

1.00
(44ns)

F (CDF)

4.38
(1094ns)

2.26
(564ns)

1.74
(436ns)

1.00
(250ns)

F (PDF)

3.19
(437ns)

1.01
(138ns)

1.01
(138ns)

1.00
(137ns)

F (quantile)

2.93
(3049ns)

1.46
(1516ns)

1.25
(1302ns)

1.00
(1041ns)

Gamma (CDF)

3.67
(573ns)

1.56
(243ns)

1.36
(212ns)

1.00
(156ns)

Gamma (PDF)

4.61
(539ns)

1.34
(157ns)

1.26
(148ns)

1.00
(117ns)

Gamma (quantile)

4.07
(1803ns)

1.81
(804ns)

1.21
(534ns)

1.00
(443ns)

Geometric (CDF)

1.00
(25ns)

1.04
(26ns)

1.04
(26ns)

1.00
(25ns)

Geometric (PDF)

1.03
(35ns)

1.00
(34ns)

1.00
(34ns)

1.29
(44ns)

Geometric (quantile)

1.00
(22ns)

1.00
(22ns)

1.00
(22ns)

1.05
(23ns)

Hypergeometric (CDF)

1.79
(10576ns)

1.00
(5915ns)

1.00
(5911ns)

1.01
(5949ns)

Hypergeometric (PDF)

1.79
(10156ns)

1.00
(5696ns)

1.00
(5689ns)

1.06
(6011ns)

Hypergeometric (quantile)

1.00
(52169ns)

1.60
(83543ns)

1.61
(84150ns)

1.99
(103704ns)

InverseChiSquared (CDF)

4.31
(483ns)

2.11
(236ns)

1.63
(183ns)

1.00
(112ns)

InverseChiSquared (PDF)

4.32
(419ns)

1.34
(130ns)

1.28
(124ns)

1.00
(97ns)

InverseChiSquared (quantile)

3.66
(1264ns)

1.94
(671ns)

1.50
(517ns)

1.00
(345ns)

InverseGamma (CDF)

3.43
(559ns)

1.44
(234ns)

1.25
(204ns)

1.00
(163ns)

InverseGamma (PDF)

4.57
(535ns)

1.36
(159ns)

1.28
(150ns)

1.00
(117ns)

InverseGamma (quantile)

3.73
(1758ns)

1.67
(787ns)

1.13
(532ns)

1.00
(471ns)

InverseGaussian (CDF)

2.16
(110ns)

2.16
(110ns)

2.16
(110ns)

1.00
(51ns)

InverseGaussian (PDF)

1.33
(20ns)

1.33
(20ns)

1.33
(20ns)

1.00
(15ns)

InverseGaussian (quantile)

2.45
(2023ns)

2.44
(2014ns)

2.26
(1865ns)

1.00
(827ns)

Laplace (CDF)

1.36
(30ns)

1.36
(30ns)

1.36
(30ns)

1.00
(22ns)

Laplace (PDF)

1.29
(31ns)

1.29
(31ns)

1.29
(31ns)

1.00
(24ns)

Laplace (quantile)

1.40
(35ns)

1.40
(35ns)

1.40
(35ns)

1.00
(25ns)

LogNormal (CDF)

2.04
(112ns)

1.25
(69ns)

1.31
(72ns)

1.00
(55ns)

LogNormal (PDF)

1.38
(65ns)

1.38
(65ns)

1.36
(64ns)

1.00
(47ns)

LogNormal (quantile)

1.36
(98ns)

1.25
(90ns)

1.25
(90ns)

1.00
(72ns)

Logistic (CDF)

1.28
(32ns)

1.28
(32ns)

1.24
(31ns)

1.00
(25ns)

Logistic (PDF)

1.21
(35ns)

1.21
(35ns)

1.21
(35ns)

1.00
(29ns)

Logistic (quantile)

1.50
(39ns)

1.50
(39ns)

1.50
(39ns)

1.00
(26ns)

NegativeBinomial (CDF)

4.84
(1878ns)

2.54
(986ns)

1.89
(733ns)

1.00
(388ns)

NegativeBinomial (PDF)

2.97
(424ns)

1.00
(143ns)

1.00
(143ns)

1.01
(144ns)

NegativeBinomial (quantile)

2.82
(9579ns)

1.44
(4894ns)

1.14
(3870ns)

1.00
(3398ns)

NonCentralBeta (CDF)

3.63
(2634ns)

2.08
(1509ns)

1.71
(1240ns)

1.00
(726ns)

NonCentralBeta (PDF)

4.09
(2051ns)

2.22
(1113ns)

1.86
(933ns)

1.00
(502ns)

NonCentralBeta (quantile)

5.29
(62703ns)

2.65
(31380ns)

2.06
(24461ns)

1.00
(11855ns)

NonCentralChiSquared (CDF)

4.16
(6934ns)

2.55
(4240ns)

2.04
(3404ns)

1.00
(1665ns)

NonCentralChiSquared (PDF)

2.61
(1305ns)

1.84
(919ns)

1.65
(824ns)

1.00
(500ns)

NonCentralChiSquared (quantile)

7.20
(51061ns)

3.56
(25208ns)

2.37
(16825ns)

1.00
(7087ns)

NonCentralF (CDF)

3.56
(2648ns)

1.98
(1470ns)

1.64
(1222ns)

1.00
(744ns)

NonCentralF (PDF)

3.85
(2213ns)

1.86
(1068ns)

1.62
(934ns)

1.00
(575ns)

NonCentralF (quantile)

4.33
(40513ns)

2.22
(20779ns)

1.89
(17663ns)

1.00
(9347ns)

NonCentralT (CDF)

4.04
(9603ns)

2.56
(6088ns)

2.11
(5014ns)

1.00
(2378ns)

NonCentralT (PDF)

4.07
(7271ns)

2.55
(4553ns)

2.18
(3898ns)

1.00
(1786ns)

NonCentralT (quantile)

5.16
(101058ns)

2.98
(58418ns)

2.11
(41310ns)

1.00
(19571ns)

Normal (CDF)

2.52
(78ns)

1.13
(35ns)

1.10
(34ns)

1.00
(31ns)

Normal (PDF)

1.28
(32ns)

1.28
(32ns)

1.32
(33ns)

1.00
(25ns)

Normal (quantile)

1.44
(65ns)

1.24
(56ns)

1.22
(55ns)

1.00
(45ns)

Pareto (CDF)

1.29
(67ns)

1.23
(64ns)

1.21
(63ns)

1.00
(52ns)

Pareto (PDF)

1.00
(92ns)

1.00
(92ns)

1.00
(92ns)

1.22
(112ns)

Pareto (quantile)

1.00
(58ns)

1.00
(58ns)

1.02
(59ns)

1.28
(74ns)

Poisson (CDF)

3.22
(245ns)

1.59
(121ns)

1.41
(107ns)

1.00
(76ns)

Poisson (PDF)

3.67
(242ns)

1.27
(84ns)

1.24
(82ns)

1.00
(66ns)

Poisson (quantile)

2.94
(1104ns)

1.50
(562ns)

1.34
(501ns)

1.00
(375ns)

Rayleigh (CDF)

1.15
(23ns)

1.25
(25ns)

1.25
(25ns)

1.00
(20ns)

Rayleigh (PDF)

1.44
(26ns)

1.44
(26ns)

1.50
(27ns)

1.00
(18ns)

Rayleigh (quantile)

1.00
(23ns)

1.00
(23ns)

1.00
(23ns)

1.00
(23ns)

SkewNormal (CDF)

1.70
(463ns)

1.54
(419ns)

1.57
(427ns)

1.00
(272ns)

SkewNormal (PDF)

1.85
(102ns)

1.25
(69ns)

1.27
(70ns)

1.00
(55ns)

SkewNormal (quantile)

2.21
(3605ns)

1.97
(3212ns)

1.40
(2284ns)

1.00
(1629ns)

StudentsT (CDF)

6.80
(1483ns)

1.95
(425ns)

1.84
(402ns)

1.00
(218ns)

StudentsT (PDF)

5.22
(710ns)

1.41
(192ns)

1.43
(194ns)

1.00
(136ns)

StudentsT (quantile)

5.07
(2526ns)

1.52
(759ns)

1.49
(740ns)

1.00
(498ns)

Weibull (CDF)

1.11
(98ns)

1.01
(89ns)

1.00
(88ns)

1.24
(109ns)

Weibull (PDF)

1.00
(155ns)

1.00
(155ns)

1.00
(155ns)

1.23
(191ns)

Weibull (quantile)

1.00
(92ns)

1.00
(92ns)

1.00
(92ns)

1.17
(108ns)


Table 11. Distribution performance comparison for different performance options with GNU C++ version 4.9.2 on Windows x64

Function

boost 1.59

Boost
promote_double<false>

Boost
promote_double<false>
digits10<10>

Boost
float
promote_float<false>

ArcSine (CDF)

1.00
(34ns)

1.00
(34ns)

1.00
(34ns)

1.79
(61ns)

ArcSine (PDF)

1.29
(9ns)

1.29
(9ns)

1.29
(9ns)

1.00
(7ns)

ArcSine (quantile)

1.00
(45ns)

1.00
(45ns)

1.00
(45ns)

1.11
(50ns)

Beta (CDF)

2.46
(356ns)

1.40
(203ns)

1.28
(186ns)

1.00
(145ns)

Beta (PDF)

2.25
(317ns)

1.04
(146ns)

1.02
(144ns)

1.00
(141ns)

Beta (quantile)

2.12
(2145ns)

1.25
(1261ns)

1.06
(1075ns)

1.00
(1010ns)

Binomial (CDF)

3.79
(1079ns)

2.21
(631ns)

1.77
(505ns)

1.00
(285ns)

Binomial (PDF)

2.33
(343ns)

1.12
(164ns)

1.12
(165ns)

1.00
(147ns)

Binomial (quantile)

3.83
(5291ns)

2.17
(2995ns)

1.74
(2404ns)

1.00
(1380ns)

Cauchy (CDF)

1.00
(25ns)

1.04
(26ns)

1.00
(25ns)

2.40
(60ns)

Cauchy (PDF)

1.33
(8ns)

1.33
(8ns)

1.33
(8ns)

1.00
(6ns)

Cauchy (quantile)

1.04
(26ns)

1.00
(25ns)

1.00
(25ns)

1.20
(30ns)

ChiSquared (CDF)

2.56
(491ns)

1.43
(274ns)

1.28
(246ns)

1.00
(192ns)

ChiSquared (PDF)

1.78
(244ns)

1.04
(142ns)

1.01
(139ns)

1.00
(137ns)

ChiSquared (quantile)

2.31
(1151ns)

1.61
(802ns)

1.17
(585ns)

1.00
(498ns)

Exponential (CDF)

1.38
(44ns)

1.09
(35ns)

1.00
(32ns)

1.00
(32ns)

Exponential (PDF)

1.09
(61ns)

1.05
(59ns)

1.07
(60ns)

1.00
(56ns)

Exponential (quantile)

1.96
(49ns)

1.12
(28ns)

1.00
(25ns)

1.04
(26ns)

ExtremeValue (CDF)

1.01
(105ns)

1.00
(104ns)

1.01
(105ns)

1.04
(108ns)

ExtremeValue (PDF)

1.00
(144ns)

1.01
(146ns)

1.01
(145ns)

1.05
(151ns)

ExtremeValue (quantile)

1.01
(69ns)

1.01
(69ns)

1.00
(68ns)

1.09
(74ns)

F (CDF)

3.94
(914ns)

2.32
(538ns)

1.81
(421ns)

1.00
(232ns)

F (PDF)

2.32
(338ns)

1.09
(159ns)

1.09
(159ns)

1.00
(146ns)

F (quantile)

2.11
(2564ns)

1.24
(1514ns)

1.09
(1332ns)

1.00
(1218ns)

Gamma (CDF)

1.98
(447ns)

1.26
(284ns)

1.12
(254ns)

1.00
(226ns)

Gamma (PDF)

1.84
(300ns)

1.18
(193ns)

1.12
(182ns)

1.00
(163ns)

Gamma (quantile)

2.03
(1311ns)

1.44
(932ns)

1.02
(656ns)

1.00
(646ns)

Geometric (CDF)

1.44
(46ns)

1.00
(32ns)

1.03
(33ns)

1.03
(33ns)

Geometric (PDF)

1.04
(49ns)

1.04
(49ns)

1.04
(49ns)

1.00
(47ns)

Geometric (quantile)

1.60
(40ns)

1.04
(26ns)

1.04
(26ns)

1.00
(25ns)

Hypergeometric (CDF)

1.87
(10685ns)

1.00
(5723ns)

1.00
(5713ns)

1.01
(5787ns)

Hypergeometric (PDF)

1.87
(10291ns)

1.00
(5516ns)

1.00
(5510ns)

1.05
(5790ns)

Hypergeometric (quantile)

1.00
(54303ns)

1.70
(92492ns)

1.69
(91809ns)

2.10
(114054ns)

InverseChiSquared (CDF)

2.78
(447ns)

1.61
(259ns)

1.29
(207ns)

1.00
(161ns)

InverseChiSquared (PDF)

2.00
(242ns)

1.19
(144ns)

1.14
(138ns)

1.00
(121ns)

InverseChiSquared (quantile)

2.30
(1099ns)

1.55
(741ns)

1.22
(581ns)

1.00
(478ns)

InverseGamma (CDF)

1.90
(446ns)

1.20
(282ns)

1.07
(251ns)

1.00
(235ns)

InverseGamma (PDF)

1.87
(299ns)

1.22
(195ns)

1.16
(185ns)

1.00
(160ns)

InverseGamma (quantile)

2.03
(1316ns)

1.43
(926ns)

1.02
(662ns)

1.00
(648ns)

InverseGaussian (CDF)

1.25
(99ns)

1.25
(99ns)

1.27
(100ns)

1.00
(79ns)

InverseGaussian (PDF)

1.00
(30ns)

1.00
(30ns)

1.00
(30ns)

1.03
(31ns)

InverseGaussian (quantile)

1.51
(1877ns)

1.53
(1894ns)

1.38
(1709ns)

1.00
(1239ns)

Laplace (CDF)

1.00
(50ns)

1.00
(50ns)

1.00
(50ns)

1.02
(51ns)

Laplace (PDF)

1.00
(49ns)

1.00
(49ns)

1.00
(49ns)

1.06
(52ns)

Laplace (quantile)

1.03
(34ns)

1.00
(33ns)

1.03
(34ns)

1.09
(36ns)

LogNormal (CDF)

1.24
(103ns)

1.00
(83ns)

1.01
(84ns)

1.02
(85ns)

LogNormal (PDF)

1.00
(87ns)

1.01
(88ns)

1.01
(88ns)

1.06
(92ns)

LogNormal (quantile)

1.17
(121ns)

1.00
(103ns)

1.00
(103ns)

1.02
(105ns)

Logistic (CDF)

1.00
(45ns)

1.02
(46ns)

1.00
(45ns)

1.04
(47ns)

Logistic (PDF)

1.00
(48ns)

1.00
(48ns)

1.00
(48ns)

1.02
(49ns)

Logistic (quantile)

1.00
(35ns)

1.03
(36ns)

1.00
(35ns)

1.11
(39ns)

NegativeBinomial (CDF)

4.52
(1572ns)

2.69
(935ns)

2.02
(704ns)

1.00
(348ns)

NegativeBinomial (PDF)

2.40
(350ns)

1.13
(165ns)

1.12
(164ns)

1.00
(146ns)

NegativeBinomial (quantile)

2.50
(7940ns)

1.48
(4708ns)

1.16
(3692ns)

1.00
(3180ns)

NonCentralBeta (CDF)

3.16
(2117ns)

2.01
(1346ns)

1.70
(1136ns)

1.00
(669ns)

NonCentralBeta (PDF)

3.35
(1682ns)

2.14
(1073ns)

1.81
(911ns)

1.00
(502ns)

NonCentralBeta (quantile)

3.93
(46820ns)

2.48
(29517ns)

2.04
(24271ns)

1.00
(11903ns)

NonCentralChiSquared (CDF)

3.94
(6393ns)

2.56
(4147ns)

2.03
(3283ns)

1.00
(1621ns)

NonCentralChiSquared (PDF)

2.33
(965ns)

1.56
(647ns)

1.45
(601ns)

1.00
(414ns)

NonCentralChiSquared (quantile)

6.19
(45376ns)

3.41
(24982ns)

2.26
(16550ns)

1.00
(7329ns)

NonCentralF (CDF)

3.33
(1979ns)

2.02
(1201ns)

1.70
(1008ns)

1.00
(594ns)

NonCentralF (PDF)

2.99
(1571ns)

1.86
(977ns)

1.62
(851ns)

1.00
(525ns)

NonCentralF (quantile)

3.74
(29812ns)

2.22
(17689ns)

1.75
(13960ns)

1.00
(7976ns)

NonCentralT (CDF)

3.76
(8204ns)

2.47
(5385ns)

2.04
(4459ns)

1.00
(2183ns)

NonCentralT (PDF)

3.64
(6298ns)

2.45
(4230ns)

2.07
(3574ns)

1.00
(1729ns)

NonCentralT (quantile)

4.79
(87002ns)

2.82
(51240ns)

2.02
(36692ns)

1.00
(18155ns)

Normal (CDF)

1.47
(78ns)

1.04
(55ns)

1.00
(53ns)

1.02
(54ns)

Normal (PDF)

1.05
(60ns)

1.02
(58ns)

1.00
(57ns)

1.02
(58ns)

Normal (quantile)

1.60
(83ns)

1.02
(53ns)

1.00
(52ns)

1.02
(53ns)

Pareto (CDF)

1.13
(77ns)

1.00
(68ns)

1.00
(68ns)

1.03
(70ns)

Pareto (PDF)

1.00
(81ns)

1.00
(81ns)

1.01
(82ns)

1.05
(85ns)

Pareto (quantile)

1.00
(70ns)

1.00
(70ns)

1.00
(70ns)

1.04
(73ns)

Poisson (CDF)

2.03
(227ns)

1.25
(140ns)

1.14
(128ns)

1.00
(112ns)

Poisson (PDF)

1.72
(158ns)

1.05
(97ns)

1.03
(95ns)

1.00
(92ns)

Poisson (quantile)

1.98
(973ns)

1.25
(613ns)

1.11
(546ns)

1.00
(492ns)

Rayleigh (CDF)

1.31
(46ns)

1.00
(35ns)

1.00
(35ns)

1.00
(35ns)

Rayleigh (PDF)

1.04
(59ns)

1.02
(58ns)

1.02
(58ns)

1.00
(57ns)

Rayleigh (quantile)

1.77
(46ns)

1.04
(27ns)

1.00
(26ns)

1.00
(26ns)

SkewNormal (CDF)

1.32
(388ns)

1.27
(373ns)

1.25
(368ns)

1.00
(294ns)

SkewNormal (PDF)

1.20
(109ns)

1.04
(95ns)

1.04
(95ns)

1.00
(91ns)

SkewNormal (quantile)

1.89
(3462ns)

1.73
(3161ns)

1.22
(2234ns)

1.00
(1832ns)

StudentsT (CDF)

2.42
(768ns)

1.26
(398ns)

1.19
(378ns)

1.00
(317ns)

StudentsT (PDF)

2.08
(339ns)

1.06
(173ns)

1.07
(174ns)

1.00
(163ns)

StudentsT (quantile)

2.00
(1386ns)

1.14
(792ns)

1.12
(777ns)

1.00
(692ns)

Weibull (CDF)

1.16
(86ns)

1.01
(75ns)

1.00
(74ns)

1.04
(77ns)

Weibull (PDF)

1.01
(136ns)

1.01
(136ns)

1.01
(136ns)

1.00
(135ns)

Weibull (quantile)

1.14
(122ns)

1.00
(107ns)

1.00
(107ns)

1.05
(112ns)


Table 12. Distribution performance comparison for different performance options with GNU C++ version 5.1.0 on linux

Function

boost 1.59

Boost
promote_double<false>

Boost
promote_double<false>
digits10<10>

Boost
float
promote_float<false>

ArcSine (CDF)

2.11
(38ns)

2.11
(38ns)

2.11
(38ns)

1.00
(18ns)

ArcSine (PDF)

1.12
(9ns)

1.12
(9ns)

1.12
(9ns)

1.00
(8ns)

ArcSine (quantile)

1.25
(20ns)

1.25
(20ns)

1.25
(20ns)

1.00
(16ns)

Beta (CDF)

3.23
(413ns)

1.34
(171ns)

1.24
(159ns)

1.00
(128ns)

Beta (PDF)

2.77
(327ns)

1.03
(122ns)

1.03
(122ns)

1.00
(118ns)

Beta (quantile)

3.75
(2643ns)

1.56
(1101ns)

1.25
(882ns)

1.00
(704ns)

Binomial (CDF)

4.15
(1042ns)

2.38
(597ns)

1.88
(471ns)

1.00
(251ns)

Binomial (PDF)

2.52
(345ns)

1.11
(152ns)

1.09
(150ns)

1.00
(137ns)

Binomial (quantile)

3.55
(4706ns)

2.13
(2818ns)

1.71
(2261ns)

1.00
(1326ns)

Cauchy (CDF)

1.19
(25ns)

1.14
(24ns)

1.14
(24ns)

1.00
(21ns)

Cauchy (PDF)

1.33
(8ns)

1.33
(8ns)

1.33
(8ns)

1.00
(6ns)

Cauchy (quantile)

1.43
(43ns)

1.43
(43ns)

1.40
(42ns)

1.00
(30ns)

ChiSquared (CDF)

3.87
(495ns)

1.86
(238ns)

1.54
(197ns)

1.00
(128ns)

ChiSquared (PDF)

3.59
(337ns)

1.31
(123ns)

1.26
(118ns)

1.00
(94ns)

ChiSquared (quantile)

3.73
(1299ns)

1.99
(692ns)

1.50
(521ns)

1.00
(348ns)

Exponential (CDF)

1.29
(18ns)

1.29
(18ns)

1.29
(18ns)

1.00
(14ns)

Exponential (PDF)

1.56
(25ns)

1.56
(25ns)

1.56
(25ns)

1.00
(16ns)

Exponential (quantile)

1.05
(23ns)

1.05
(23ns)

1.00
(22ns)

1.05
(23ns)

ExtremeValue (CDF)

1.27
(47ns)

1.30
(48ns)

1.30
(48ns)

1.00
(37ns)

ExtremeValue (PDF)

1.41
(65ns)

1.43
(66ns)

1.43
(66ns)

1.00
(46ns)

ExtremeValue (quantile)

1.55
(62ns)

1.57
(63ns)

1.57
(63ns)

1.00
(40ns)

F (CDF)

4.18
(961ns)

2.37
(545ns)

1.86
(427ns)

1.00
(230ns)

F (PDF)

2.84
(378ns)

1.14
(152ns)

1.14
(152ns)

1.00
(133ns)

F (quantile)

2.77
(2753ns)

1.48
(1471ns)

1.30
(1295ns)

1.00
(993ns)

Gamma (CDF)

3.61
(570ns)

1.51
(239ns)

1.32
(208ns)

1.00
(158ns)

Gamma (PDF)

3.96
(452ns)

1.37
(156ns)

1.27
(145ns)

1.00
(114ns)

Gamma (quantile)

3.89
(1787ns)

1.78
(817ns)

1.20
(551ns)

1.00
(459ns)

Geometric (CDF)

1.09
(24ns)

1.00
(22ns)

1.00
(22ns)

1.00
(22ns)

Geometric (PDF)

1.06
(33ns)

1.03
(32ns)

1.00
(31ns)

1.19
(37ns)

Geometric (quantile)

1.05
(21ns)

1.05
(21ns)

1.00
(20ns)

1.10
(22ns)

Hypergeometric (CDF)

1.80
(10644ns)

1.01
(5961ns)

1.00
(5922ns)

1.02
(6013ns)

Hypergeometric (PDF)

1.82
(10316ns)

1.02
(5756ns)

1.00
(5658ns)

1.07
(6027ns)

Hypergeometric (quantile)

1.00
(50508ns)

1.69
(85415ns)

1.69
(85277ns)

2.08
(105261ns)

InverseChiSquared (CDF)

4.36
(497ns)

2.00
(228ns)

1.54
(175ns)

1.00
(114ns)

InverseChiSquared (PDF)

3.52
(327ns)

1.45
(135ns)

1.35
(126ns)

1.00
(93ns)

InverseChiSquared (quantile)

3.61
(1281ns)

1.95
(693ns)

1.50
(531ns)

1.00
(355ns)

InverseGamma (CDF)

3.39
(566ns)

1.40
(234ns)

1.21
(202ns)

1.00
(167ns)

InverseGamma (PDF)

4.00
(452ns)

1.41
(159ns)

1.33
(150ns)

1.00
(113ns)

InverseGamma (quantile)

3.59
(1750ns)

1.67
(814ns)

1.15
(559ns)

1.00
(488ns)

InverseGaussian (CDF)

2.22
(102ns)

2.20
(101ns)

2.20
(101ns)

1.00
(46ns)

InverseGaussian (PDF)

1.50
(18ns)

1.50
(18ns)

1.50
(18ns)

1.00
(12ns)

InverseGaussian (quantile)

2.47
(1969ns)

2.49
(1981ns)

2.28
(1814ns)

1.00
(796ns)

Laplace (CDF)

1.30
(26ns)

1.25
(25ns)

1.25
(25ns)

1.00
(20ns)

Laplace (PDF)

1.42
(27ns)

1.37
(26ns)

1.37
(26ns)

1.00
(19ns)

Laplace (quantile)

1.43
(30ns)

1.43
(30ns)

1.43
(30ns)

1.00
(21ns)

LogNormal (CDF)

2.06
(107ns)

1.23
(64ns)

1.23
(64ns)

1.00
(52ns)

LogNormal (PDF)

1.44
(62ns)

1.42
(61ns)

1.44
(62ns)

1.00
(43ns)

LogNormal (quantile)

1.40
(95ns)

1.26
(86ns)

1.26
(86ns)

1.00
(68ns)

Logistic (CDF)

1.30
(26ns)

1.35
(27ns)

1.35
(27ns)

1.00
(20ns)

Logistic (PDF)

1.32
(29ns)

1.32
(29ns)

1.32
(29ns)

1.00
(22ns)

Logistic (quantile)

1.50
(33ns)

1.55
(34ns)

1.50
(33ns)

1.00
(22ns)

NegativeBinomial (CDF)

4.82
(1640ns)

2.81
(955ns)

2.11
(719ns)

1.00
(340ns)

NegativeBinomial (PDF)

2.58
(358ns)

1.14
(158ns)

1.12
(155ns)

1.00
(139ns)

NegativeBinomial (quantile)

2.74
(8427ns)

1.57
(4814ns)

1.22
(3748ns)

1.00
(3073ns)

NonCentralBeta (CDF)

3.97
(2451ns)

2.16
(1333ns)

1.79
(1105ns)

1.00
(617ns)

NonCentralBeta (PDF)

3.93
(1875ns)

2.28
(1087ns)

1.94
(925ns)

1.00
(477ns)

NonCentralBeta (quantile)

5.54
(58621ns)

2.63
(27810ns)

2.11
(22395ns)

1.00
(10589ns)

NonCentralChiSquared (CDF)

4.21
(6804ns)

2.62
(4244ns)

2.07
(3353ns)

1.00
(1617ns)

NonCentralChiSquared (PDF)

2.98
(1114ns)

1.74
(651ns)

1.63
(608ns)

1.00
(374ns)

NonCentralChiSquared (quantile)

6.96
(48267ns)

3.58
(24784ns)

2.41
(16702ns)

1.00
(6931ns)

NonCentralF (CDF)

3.83
(2371ns)

2.03
(1257ns)

1.74
(1078ns)

1.00
(619ns)

NonCentralF (PDF)

3.69
(1949ns)

1.93
(1018ns)

1.68
(886ns)

1.00
(528ns)

NonCentralF (quantile)

4.34
(35608ns)

2.26
(18535ns)

1.96
(16111ns)

1.00
(8210ns)

NonCentralT (CDF)

4.52
(9265ns)

2.79
(5710ns)

2.24
(4597ns)

1.00
(2050ns)

NonCentralT (PDF)

4.20
(6920ns)

2.80
(4612ns)

2.32
(3818ns)

1.00
(1649ns)

NonCentralT (quantile)

5.64
(95714ns)

3.16
(53580ns)

2.24
(38040ns)

1.00
(16967ns)

Normal (CDF)

2.55
(74ns)

1.14
(33ns)

1.14
(33ns)

1.00
(29ns)

Normal (PDF)

1.36
(30ns)

1.41
(31ns)

1.41
(31ns)

1.00
(22ns)

Normal (quantile)

1.50
(60ns)

1.18
(47ns)

1.18
(47ns)

1.00
(40ns)

Pareto (CDF)

1.22
(56ns)

1.24
(57ns)

1.24
(57ns)

1.00
(46ns)

Pareto (PDF)

1.02
(87ns)

1.02
(87ns)

1.00
(85ns)

1.21
(103ns)

Pareto (quantile)

1.04
(54ns)

1.02
(53ns)

1.00
(52ns)

1.23
(64ns)

Poisson (CDF)

3.21
(234ns)

1.58
(115ns)

1.42
(104ns)

1.00
(73ns)

Poisson (PDF)

3.03
(188ns)

1.32
(82ns)

1.31
(81ns)

1.00
(62ns)

Poisson (quantile)

2.88
(1053ns)

1.46
(536ns)

1.34
(490ns)

1.00
(366ns)

Rayleigh (CDF)

1.22
(22ns)

1.17
(21ns)

1.17
(21ns)

1.00
(18ns)

Rayleigh (PDF)

1.25
(25ns)

1.30
(26ns)

1.30
(26ns)

1.00
(20ns)

Rayleigh (quantile)

1.04
(24ns)

1.00
(23ns)

1.00
(23ns)

1.00
(23ns)

SkewNormal (CDF)

1.70
(438ns)

1.57
(404ns)

1.57
(404ns)

1.00
(257ns)

SkewNormal (PDF)

1.95
(86ns)

1.25
(55ns)

1.27
(56ns)

1.00
(44ns)

SkewNormal (quantile)

2.19
(3470ns)

1.96
(3108ns)

1.38
(2192ns)

1.00
(1588ns)

StudentsT (CDF)

6.77
(1415ns)

2.13
(445ns)

2.01
(421ns)

1.00
(209ns)

StudentsT (PDF)

5.46
(655ns)

1.54
(185ns)

1.56
(187ns)

1.00
(120ns)

StudentsT (quantile)

4.99
(2409ns)

1.60
(773ns)

1.57
(757ns)

1.00
(483ns)

Weibull (CDF)

1.07
(88ns)

1.01
(83ns)

1.00
(82ns)

1.27
(104ns)

Weibull (PDF)

1.00
(147ns)

1.01
(149ns)

1.01
(149ns)

1.24
(182ns)

Weibull (quantile)

1.01
(87ns)

1.00
(86ns)

1.01
(87ns)

1.22
(105ns)


Table 13. Distribution performance comparison for different performance options with Intel C++ C++0x mode version 1500 on Windows x64

Function

boost 1.59

Boost
promote_double<false>
digits10<10>

Boost
float
promote_float<false>

ArcSine (CDF)

1.40
(35ns)

1.44
(36ns)

1.00
(25ns)

ArcSine (PDF)

1.07
(15ns)

1.14
(16ns)

1.00
(14ns)

ArcSine (quantile)

1.32
(25ns)

1.26
(24ns)

1.00
(19ns)

Beta (CDF)

1.96
(153ns)

1.55
(121ns)

1.00
(78ns)

Beta (PDF)

2.00
(138ns)

1.22
(84ns)

1.00
(69ns)

Beta (quantile)

2.02
(823ns)

1.47
(601ns)

1.00
(408ns)

Binomial (CDF)

2.85
(602ns)

2.09
(440ns)

1.00
(211ns)

Binomial (PDF)

1.77
(175ns)

1.11
(110ns)

1.00
(99ns)

Binomial (quantile)

2.58
(2714ns)

1.95
(2046ns)

1.00
(1050ns)

Cauchy (CDF)

1.24
(21ns)

1.29
(22ns)

1.00
(17ns)

Cauchy (PDF)

1.00
(7ns)

1.00
(7ns)

1.00
(7ns)

Cauchy (quantile)

1.00
(23ns)

1.00
(23ns)

1.04
(24ns)

ChiSquared (CDF)

2.07
(213ns)

1.66
(171ns)

1.00
(103ns)

ChiSquared (PDF)

1.78
(96ns)

1.39
(75ns)

1.00
(54ns)

ChiSquared (quantile)

2.09
(557ns)

1.49
(399ns)

1.00
(267ns)

Exponential (CDF)

1.08
(13ns)

1.08
(13ns)

1.00
(12ns)

Exponential (PDF)

1.17
(14ns)

1.25
(15ns)

1.00
(12ns)

Exponential (quantile)

1.29
(18ns)

1.21
(17ns)

1.00
(14ns)

ExtremeValue (CDF)

1.30
(30ns)

1.39
(32ns)

1.00
(23ns)

ExtremeValue (PDF)

1.23
(32ns)

1.35
(35ns)

1.00
(26ns)

ExtremeValue (quantile)

1.43
(33ns)

1.39
(32ns)

1.00
(23ns)

F (CDF)

2.86
(561ns)

2.09
(409ns)

1.00
(196ns)

F (PDF)

1.93
(187ns)

1.21
(117ns)

1.00
(97ns)

F (quantile)

1.49
(1229ns)

1.20
(992ns)

1.00
(825ns)

Gamma (CDF)

1.81
(199ns)

1.47
(162ns)

1.00
(110ns)

Gamma (PDF)

1.95
(121ns)

1.55
(96ns)

1.00
(62ns)

Gamma (quantile)

2.33
(677ns)

1.43
(414ns)

1.00
(290ns)

Geometric (CDF)

1.12
(19ns)

1.12
(19ns)

1.00
(17ns)

Geometric (PDF)

1.25
(20ns)

1.25
(20ns)

1.00
(16ns)

Geometric (quantile)

1.25
(20ns)

1.19
(19ns)

1.00
(16ns)

Hypergeometric (CDF)

1.00
(6094ns)

1.00
(6096ns)

1.05
(6383ns)

Hypergeometric (PDF)

1.02
(5904ns)

1.00
(5800ns)

1.06
(6145ns)

Hypergeometric (quantile)

1.00
(41294ns)

1.03
(42419ns)

1.24
(51144ns)

InverseChiSquared (CDF)

2.15
(211ns)

1.59
(156ns)

1.00
(98ns)

InverseChiSquared (PDF)

1.83
(115ns)

1.46
(92ns)

1.00
(63ns)

InverseChiSquared (quantile)

2.01
(586ns)

1.45
(424ns)

1.00
(292ns)

InverseGamma (CDF)

1.81
(194ns)

1.49
(159ns)

1.00
(107ns)

InverseGamma (PDF)

1.85
(124ns)

1.49
(100ns)

1.00
(67ns)

InverseGamma (quantile)

2.28
(643ns)

1.46
(413ns)

1.00
(282ns)

InverseGaussian (CDF)

1.22
(50ns)

1.24
(51ns)

1.00
(41ns)

InverseGaussian (PDF)

1.09
(12ns)

1.09
(12ns)

1.00
(11ns)

InverseGaussian (quantile)

1.33
(791ns)

1.22
(725ns)

1.00
(595ns)

Laplace (CDF)

1.07
(15ns)

1.07
(15ns)

1.00
(14ns)

Laplace (PDF)

1.23
(16ns)

1.23
(16ns)

1.00
(13ns)

Laplace (quantile)

1.20
(18ns)

1.00
(15ns)

1.00
(15ns)

LogNormal (CDF)

1.17
(42ns)

1.17
(42ns)

1.00
(36ns)

LogNormal (PDF)

1.38
(36ns)

1.38
(36ns)

1.00
(26ns)

LogNormal (quantile)

1.31
(68ns)

1.23
(64ns)

1.00
(52ns)

Logistic (CDF)

1.20
(18ns)

1.20
(18ns)

1.00
(15ns)

Logistic (PDF)

1.24
(21ns)

1.29
(22ns)

1.00
(17ns)

Logistic (quantile)

1.40
(21ns)

1.33
(20ns)

1.00
(15ns)

NegativeBinomial (CDF)

3.17
(981ns)

2.27
(702ns)

1.00
(309ns)

NegativeBinomial (PDF)

1.83
(190ns)

1.18
(123ns)

1.00
(104ns)

NegativeBinomial (quantile)

1.81
(4871ns)

1.31
(3526ns)

1.00
(2686ns)

NonCentralBeta (CDF)

2.69
(1243ns)

2.12
(980ns)

1.00
(462ns)

NonCentralBeta (PDF)

2.70
(1072ns)

2.11
(837ns)

1.00
(397ns)

NonCentralBeta (quantile)

3.49
(24745ns)

2.68
(19034ns)

1.00
(7094ns)

NonCentralChiSquared (CDF)

2.94
(3985ns)

2.29
(3103ns)

1.00
(1354ns)

NonCentralChiSquared (PDF)

1.84
(520ns)

1.63
(459ns)

1.00
(282ns)

NonCentralChiSquared (quantile)

4.03
(22610ns)

2.69
(15118ns)

1.00
(5610ns)

NonCentralF (CDF)

2.79
(1288ns)

2.07
(957ns)

1.00
(462ns)

NonCentralF (PDF)

2.57
(995ns)

1.99
(771ns)

1.00
(387ns)

NonCentralF (quantile)

2.87
(17859ns)

2.05
(12718ns)

1.00
(6213ns)

NonCentralT (CDF)

2.92
(5388ns)

2.28
(4217ns)

1.00
(1848ns)

NonCentralT (PDF)

2.83
(4174ns)

2.25
(3313ns)

1.00
(1475ns)

NonCentralT (quantile)

3.42
(50277ns)

2.37
(34800ns)

1.00
(14695ns)

Normal (CDF)

1.04
(29ns)

1.04
(29ns)

1.00
(28ns)

Normal (PDF)

1.29
(22ns)

1.18
(20ns)

1.00
(17ns)

Normal (quantile)

1.26
(44ns)

1.11
(39ns)

1.00
(35ns)

Pareto (CDF)

1.34
(39ns)

1.38
(40ns)

1.00
(29ns)

Pareto (PDF)

1.30
(61ns)

1.30
(61ns)

1.00
(47ns)

Pareto (quantile)

1.37
(37ns)

1.26
(34ns)

1.00
(27ns)

Poisson (CDF)

1.75
(100ns)

1.44
(82ns)

1.00
(57ns)

Poisson (PDF)

1.62
(63ns)

1.31
(51ns)

1.00
(39ns)

Poisson (quantile)

1.57
(467ns)

1.34
(398ns)

1.00
(297ns)

Rayleigh (CDF)

1.07
(16ns)

1.13
(17ns)

1.00
(15ns)

Rayleigh (PDF)

1.27
(19ns)

1.33
(20ns)

1.00
(15ns)

Rayleigh (quantile)

1.25
(20ns)

1.25
(20ns)

1.00
(16ns)

SkewNormal (CDF)

1.00
(182ns)

1.04
(189ns)

1.03
(187ns)

SkewNormal (PDF)

1.11
(52ns)

1.13
(53ns)

1.00
(47ns)

SkewNormal (quantile)

1.42
(1407ns)

1.14
(1130ns)

1.00
(994ns)

StudentsT (CDF)

1.83
(351ns)

1.45
(278ns)

1.00
(192ns)

StudentsT (PDF)

1.59
(146ns)

1.34
(123ns)

1.00
(92ns)

StudentsT (quantile)

1.66
(642ns)

1.41
(543ns)

1.00
(386ns)

Weibull (CDF)

1.34
(47ns)

1.37
(48ns)

1.00
(35ns)

Weibull (PDF)

1.49
(73ns)

1.53
(75ns)

1.00
(49ns)

Weibull (quantile)

1.33
(48ns)

1.31
(47ns)

1.00
(36ns)


Table 14. Distribution performance comparison for different performance options with Intel C++ C++0x mode version 1500 on linux

Function

boost 1.59

Boost
promote_double<false>

Boost
promote_double<false>
digits10<10>

Boost
float
promote_float<false>

ArcSine (CDF)

1.35
(35ns)

1.38
(36ns)

1.35
(35ns)

1.00
(26ns)

ArcSine (PDF)

1.07
(15ns)

1.00
(14ns)

1.07
(15ns)

1.00
(14ns)

ArcSine (quantile)

1.32
(29ns)

1.27
(28ns)

1.27
(28ns)

1.00
(22ns)

Beta (CDF)

4.12
(367ns)

1.63
(145ns)

1.51
(134ns)

1.00
(89ns)

Beta (PDF)

4.96
(357ns)

1.38
(99ns)

1.33
(96ns)

1.00
(72ns)

Beta (quantile)

4.71
(2035ns)

1.84
(797ns)

1.44
(623ns)

1.00
(432ns)

Binomial (CDF)

3.53
(1104ns)

1.88
(589ns)

1.50
(471ns)

1.00
(313ns)

Binomial (PDF)

4.22
(405ns)

1.22
(117ns)

1.23
(118ns)

1.00
(96ns)

Binomial (quantile)

3.29
(4935ns)

1.78
(2681ns)

1.38
(2075ns)

1.00
(1502ns)

Cauchy (CDF)

1.32
(29ns)

1.32
(29ns)

1.32
(29ns)

1.00
(22ns)

Cauchy (PDF)

1.00
(15ns)

1.00
(15ns)

1.00
(15ns)

1.00
(15ns)

Cauchy (quantile)

1.00
(33ns)

1.00
(33ns)

1.00
(33ns)

1.03
(34ns)

ChiSquared (CDF)

4.02
(458ns)

1.97
(225ns)

1.59
(181ns)

1.00
(114ns)

ChiSquared (PDF)

4.69
(272ns)

1.48
(86ns)

1.33
(77ns)

1.00
(58ns)

ChiSquared (quantile)

4.16
(1139ns)

2.12
(582ns)

1.55
(424ns)

1.00
(274ns)

Exponential (CDF)

1.11
(20ns)

1.00
(18ns)

1.00
(18ns)

1.06
(19ns)

Exponential (PDF)

1.11
(20ns)

1.11
(20ns)

1.11
(20ns)

1.00
(18ns)

Exponential (quantile)

1.15
(23ns)

1.15
(23ns)

1.15
(23ns)

1.00
(20ns)

ExtremeValue (CDF)

1.38
(44ns)

1.34
(43ns)

1.34
(43ns)

1.00
(32ns)

ExtremeValue (PDF)

1.29
(44ns)

1.26
(43ns)

1.26
(43ns)

1.00
(34ns)

ExtremeValue (quantile)

1.30
(43ns)

1.30
(43ns)

1.30
(43ns)

1.00
(33ns)

F (CDF)

3.57
(1036ns)

1.84
(534ns)

1.46
(423ns)

1.00
(290ns)

F (PDF)

4.49
(440ns)

1.38
(135ns)

1.28
(125ns)

1.00
(98ns)

F (quantile)

2.53
(2648ns)

1.20
(1261ns)

1.00
(1048ns)

1.15
(1206ns)

Gamma (CDF)

4.40
(515ns)

1.74
(204ns)

1.56
(182ns)

1.00
(117ns)

Gamma (PDF)

5.32
(351ns)

1.71
(113ns)

1.58
(104ns)

1.00
(66ns)

Gamma (quantile)

4.75
(1391ns)

2.23
(653ns)

1.45
(425ns)

1.00
(293ns)

Geometric (CDF)

1.29
(27ns)

1.10
(23ns)

1.14
(24ns)

1.00
(21ns)

Geometric (PDF)

1.22
(22ns)

1.22
(22ns)

1.22
(22ns)

1.00
(18ns)

Geometric (quantile)

1.19
(25ns)

1.14
(24ns)

1.19
(25ns)

1.00
(21ns)

Hypergeometric (CDF)

2.21
(13355ns)

1.13
(6809ns)

1.00
(6039ns)

1.01
(6114ns)

Hypergeometric (PDF)

2.01
(11896ns)

1.02
(6057ns)

1.00
(5918ns)

1.14
(6736ns)

Hypergeometric (quantile)

1.00
(38561ns)

1.10
(42341ns)

1.15
(44478ns)

1.36
(52479ns)

InverseChiSquared (CDF)

4.75
(475ns)

2.18
(218ns)

1.59
(159ns)

1.00
(100ns)

InverseChiSquared (PDF)

4.34
(291ns)

1.43
(96ns)

1.33
(89ns)

1.00
(67ns)

InverseChiSquared (quantile)

3.97
(1128ns)

2.05
(582ns)

1.51
(428ns)

1.00
(284ns)

InverseGamma (CDF)

3.91
(458ns)

1.81
(212ns)

1.50
(176ns)

1.00
(117ns)

InverseGamma (PDF)

4.57
(338ns)

1.62
(120ns)

1.46
(108ns)

1.00
(74ns)

InverseGamma (quantile)

4.59
(1345ns)

2.49
(731ns)

1.46
(429ns)

1.00
(293ns)

InverseGaussian (CDF)

1.84
(90ns)

1.84
(90ns)

1.84
(90ns)

1.00
(49ns)

InverseGaussian (PDF)

1.25
(15ns)

1.25
(15ns)

1.33
(16ns)

1.00
(12ns)

InverseGaussian (quantile)

2.22
(1548ns)

2.21
(1544ns)

2.03
(1419ns)

1.00
(698ns)

Laplace (CDF)

1.25
(25ns)

1.25
(25ns)

1.30
(26ns)

1.00
(20ns)

Laplace (PDF)

1.20
(24ns)

1.25
(25ns)

1.25
(25ns)

1.00
(20ns)

Laplace (quantile)

1.10
(23ns)

1.10
(23ns)

1.19
(25ns)

1.00
(21ns)

LogNormal (CDF)

1.91
(90ns)

1.19
(56ns)

1.19
(56ns)

1.00
(47ns)

LogNormal (PDF)

1.28
(46ns)

1.31
(47ns)

1.36
(49ns)

1.00
(36ns)

LogNormal (quantile)

1.40
(101ns)

1.18
(85ns)

1.15
(83ns)

1.00
(72ns)

Logistic (CDF)

1.26
(29ns)

1.26
(29ns)

1.22
(28ns)

1.00
(23ns)

Logistic (PDF)

1.23
(32ns)

1.27
(33ns)

1.23
(32ns)

1.00
(26ns)

Logistic (quantile)

1.32
(29ns)

1.27
(28ns)

1.32
(29ns)

1.00
(22ns)

NegativeBinomial (CDF)

3.59
(1723ns)

2.00
(961ns)

1.48
(712ns)

1.00
(480ns)

NegativeBinomial (PDF)

4.42
(464ns)

1.18
(124ns)

1.18
(124ns)

1.00
(105ns)

NegativeBinomial (quantile)

2.52
(9047ns)

1.32
(4726ns)

1.00
(3590ns)

1.09
(3928ns)

NonCentralBeta (CDF)

4.69
(2345ns)

2.44
(1218ns)

2.01
(1004ns)

1.00
(500ns)

NonCentralBeta (PDF)

4.94
(2017ns)

2.51
(1024ns)

2.12
(865ns)

1.00
(408ns)

NonCentralBeta (quantile)

6.62
(51058ns)

3.29
(25406ns)

2.48
(19108ns)

1.00
(7717ns)

NonCentralChiSquared (CDF)

4.97
(6805ns)

2.89
(3958ns)

2.27
(3116ns)

1.00
(1370ns)

NonCentralChiSquared (PDF)

3.50
(1067ns)

2.09
(636ns)

1.83
(558ns)

1.00
(305ns)

NonCentralChiSquared (quantile)

8.56
(49167ns)

3.96
(22715ns)

2.68
(15375ns)

1.00
(5742ns)

NonCentralF (CDF)

4.17
(2229ns)

2.18
(1165ns)

1.83
(981ns)

1.00
(535ns)

NonCentralF (PDF)

4.43
(1856ns)

2.21
(928ns)

1.90
(795ns)

1.00
(419ns)

NonCentralF (quantile)

5.07
(34381ns)

2.49
(16913ns)

1.90
(12880ns)

1.00
(6787ns)

NonCentralT (CDF)

4.45
(8969ns)

2.64
(5329ns)

2.14
(4322ns)

1.00
(2017ns)

NonCentralT (PDF)

4.63
(6968ns)

2.78
(4185ns)

2.31
(3478ns)

1.00
(1504ns)

NonCentralT (quantile)

6.17
(95681ns)

3.24
(50205ns)

2.36
(36569ns)

1.00
(15518ns)

Normal (CDF)

2.15
(73ns)

1.12
(38ns)

1.15
(39ns)

1.00
(34ns)

Normal (PDF)

1.23
(27ns)

1.18
(26ns)

1.27
(28ns)

1.00
(22ns)

Normal (quantile)

1.60
(69ns)

1.12
(48ns)

1.14
(49ns)

1.00
(43ns)

Pareto (CDF)

1.40
(49ns)

1.26
(44ns)

1.29
(45ns)

1.00
(35ns)

Pareto (PDF)

1.31
(63ns)

1.31
(63ns)

1.31
(63ns)

1.00
(48ns)

Pareto (quantile)

1.23
(38ns)

1.26
(39ns)

1.26
(39ns)

1.00
(31ns)

Poisson (CDF)

3.72
(227ns)

1.64
(100ns)

1.39
(85ns)

1.00
(61ns)

Poisson (PDF)

4.29
(176ns)

1.39
(57ns)

1.32
(54ns)

1.00
(41ns)

Poisson (quantile)

3.26
(1027ns)

1.51
(476ns)

1.30
(408ns)

1.00
(315ns)

Rayleigh (CDF)

1.33
(24ns)

1.28
(23ns)

1.28
(23ns)

1.00
(18ns)

Rayleigh (PDF)

1.32
(25ns)

1.26
(24ns)

1.26
(24ns)

1.00
(19ns)

Rayleigh (quantile)

1.20
(24ns)

1.20
(24ns)

1.20
(24ns)

1.00
(20ns)

SkewNormal (CDF)

1.51
(407ns)

1.39
(375ns)

1.55
(418ns)

1.00
(270ns)

SkewNormal (PDF)

1.46
(102ns)

1.11
(78ns)

1.13
(79ns)

1.00
(70ns)

SkewNormal (quantile)

2.29
(3063ns)

1.94
(2590ns)

1.42
(1899ns)

1.00
(1338ns)

StudentsT (CDF)

4.97
(910ns)

1.68
(308ns)

1.52
(278ns)

1.00
(183ns)

StudentsT (PDF)

4.26
(409ns)

1.36
(131ns)

1.30
(125ns)

1.00
(96ns)

StudentsT (quantile)

3.75
(1460ns)

1.49
(580ns)

1.43
(556ns)

1.00
(389ns)

Weibull (CDF)

1.36
(61ns)

1.24
(56ns)

1.22
(55ns)

1.00
(45ns)

Weibull (PDF)

1.49
(85ns)

1.47
(84ns)

1.49
(85ns)

1.00
(57ns)

Weibull (quantile)

1.19
(56ns)

1.17
(55ns)

1.15
(54ns)

1.00
(47ns)


Table 15. Distribution performance comparison for different performance options with Microsoft Visual C++ version 14.0 on Windows x64

Function

boost 1.59

Boost
promote_double<false>
digits10<10>

Boost
float
promote_float<false>

ArcSine (CDF)

1.48
(40ns)

1.44
(39ns)

1.00
(27ns)

ArcSine (PDF)

1.07
(16ns)

1.00
(15ns)

1.00
(15ns)

ArcSine (quantile)

1.06
(19ns)

1.00
(18ns)

1.06
(19ns)

Beta (CDF)

1.83
(181ns)

1.69
(167ns)

1.00
(99ns)

Beta (PDF)

1.72
(141ns)

1.65
(135ns)

1.00
(82ns)

Beta (quantile)

1.83
(1051ns)

1.49
(855ns)

1.00
(573ns)

Binomial (CDF)

2.41
(676ns)

1.93
(541ns)

1.00
(281ns)

Binomial (PDF)

1.70
(189ns)

1.59
(177ns)

1.00
(111ns)

Binomial (quantile)

2.25
(3128ns)

1.83
(2542ns)

1.00
(1389ns)

Cauchy (CDF)

1.15
(30ns)

1.15
(30ns)

1.00
(26ns)

Cauchy (PDF)

1.22
(11ns)

1.22
(11ns)

1.00
(9ns)

Cauchy (quantile)

1.05
(21ns)

1.05
(21ns)

1.00
(20ns)

ChiSquared (CDF)

2.18
(266ns)

1.83
(223ns)

1.00
(122ns)

ChiSquared (PDF)

1.94
(126ns)

1.85
(120ns)

1.00
(65ns)

ChiSquared (quantile)

2.08
(707ns)

1.57
(534ns)

1.00
(340ns)

Exponential (CDF)

1.00
(15ns)

1.07
(16ns)

1.13
(17ns)

Exponential (PDF)

1.21
(17ns)

1.14
(16ns)

1.00
(14ns)

Exponential (quantile)

1.00
(20ns)

1.00
(20ns)

1.10
(22ns)

ExtremeValue (CDF)

1.48
(40ns)

1.48
(40ns)

1.00
(27ns)

ExtremeValue (PDF)

1.58
(41ns)

1.58
(41ns)

1.00
(26ns)

ExtremeValue (quantile)

1.15
(30ns)

1.23
(32ns)

1.00
(26ns)

F (CDF)

2.40
(612ns)

1.88
(480ns)

1.00
(255ns)

F (PDF)

1.75
(201ns)

1.56
(179ns)

1.00
(115ns)

F (quantile)

1.33
(1424ns)

1.17
(1249ns)

1.00
(1067ns)

Gamma (CDF)

1.83
(244ns)

1.60
(213ns)

1.00
(133ns)

Gamma (PDF)

1.95
(158ns)

1.77
(143ns)

1.00
(81ns)

Gamma (quantile)

2.12
(815ns)

1.43
(550ns)

1.00
(384ns)

Geometric (CDF)

1.05
(22ns)

1.05
(22ns)

1.00
(21ns)

Geometric (PDF)

1.56
(25ns)

1.56
(25ns)

1.00
(16ns)

Geometric (quantile)

1.00
(21ns)

1.00
(21ns)

1.00
(21ns)

Hypergeometric (CDF)

1.09
(6526ns)

1.08
(6487ns)

1.00
(5988ns)

Hypergeometric (PDF)

1.06
(6385ns)

1.05
(6307ns)

1.00
(6017ns)

Hypergeometric (quantile)

1.03
(34421ns)

1.00
(33560ns)

1.16
(38985ns)

InverseChiSquared (CDF)

2.31
(259ns)

1.79
(201ns)

1.00
(112ns)

InverseChiSquared (PDF)

1.89
(144ns)

1.84
(140ns)

1.00
(76ns)

InverseChiSquared (quantile)

2.15
(765ns)

1.66
(589ns)

1.00
(355ns)

InverseGamma (CDF)

1.68
(240ns)

1.48
(211ns)

1.00
(143ns)

InverseGamma (PDF)

2.06
(165ns)

1.93
(154ns)

1.00
(80ns)

InverseGamma (quantile)

2.13
(814ns)

1.50
(575ns)

1.00
(383ns)

InverseGaussian (CDF)

1.11
(62ns)

1.11
(62ns)

1.00
(56ns)

InverseGaussian (PDF)

1.33
(16ns)

1.33
(16ns)

1.00
(12ns)

InverseGaussian (quantile)

1.28
(1125ns)

1.16
(1025ns)

1.00
(880ns)

Laplace (CDF)

1.29
(22ns)

1.29
(22ns)

1.00
(17ns)

Laplace (PDF)

1.50
(24ns)

1.44
(23ns)

1.00
(16ns)

Laplace (quantile)

1.00
(17ns)

1.00
(17ns)

1.06
(18ns)

LogNormal (CDF)

1.30
(48ns)

1.30
(48ns)

1.00
(37ns)

LogNormal (PDF)

1.20
(42ns)

1.20
(42ns)

1.00
(35ns)

LogNormal (quantile)

1.33
(84ns)

1.30
(82ns)

1.00
(63ns)

Logistic (CDF)

1.56
(25ns)

1.50
(24ns)

1.00
(16ns)

Logistic (PDF)

1.24
(31ns)

1.16
(29ns)

1.00
(25ns)

Logistic (quantile)

1.17
(21ns)

1.17
(21ns)

1.00
(18ns)

NegativeBinomial (CDF)

2.69
(1078ns)

2.05
(819ns)

1.00
(400ns)

NegativeBinomial (PDF)

1.70
(209ns)

1.56
(192ns)

1.00
(123ns)

NegativeBinomial (quantile)

1.63
(5530ns)

1.27
(4334ns)

1.00
(3403ns)

NonCentralBeta (CDF)

2.78
(1424ns)

2.33
(1196ns)

1.00
(513ns)

NonCentralBeta (PDF)

2.84
(1178ns)

2.41
(999ns)

1.00
(415ns)

NonCentralBeta (quantile)

3.51
(28670ns)

2.91
(23787ns)

1.00
(8175ns)

NonCentralChiSquared (CDF)

2.58
(4583ns)

2.04
(3617ns)

1.00
(1774ns)

NonCentralChiSquared (PDF)

1.51
(601ns)

1.36
(541ns)

1.00
(399ns)

NonCentralChiSquared (quantile)

3.55
(26962ns)

2.39
(18148ns)

1.00
(7597ns)

NonCentralF (CDF)

2.49
(1364ns)

2.12
(1162ns)

1.00
(548ns)

NonCentralF (PDF)

2.52
(1093ns)

2.19
(947ns)

1.00
(433ns)

NonCentralF (quantile)

2.86
(19891ns)

2.25
(15628ns)

1.00
(6960ns)

NonCentralT (CDF)

2.53
(5905ns)

2.06
(4804ns)

1.00
(2336ns)

NonCentralT (PDF)

2.54
(4548ns)

2.14
(3830ns)

1.00
(1793ns)

NonCentralT (quantile)

2.89
(55584ns)

2.02
(38848ns)

1.00
(19201ns)

Normal (CDF)

1.71
(41ns)

1.38
(33ns)

1.00
(24ns)

Normal (PDF)

1.55
(31ns)

1.50
(30ns)

1.00
(20ns)

Normal (quantile)

1.09
(38ns)

1.03
(36ns)

1.00
(35ns)

Pareto (CDF)

1.42
(44ns)

1.35
(42ns)

1.00
(31ns)

Pareto (PDF)

1.61
(113ns)

1.57
(110ns)

1.00
(70ns)

Pareto (quantile)

1.45
(42ns)

1.45
(42ns)

1.00
(29ns)

Poisson (CDF)

1.71
(120ns)

1.53
(107ns)

1.00
(70ns)

Poisson (PDF)

1.93
(79ns)

1.90
(78ns)

1.00
(41ns)

Poisson (quantile)

1.62
(595ns)

1.44
(529ns)

1.00
(368ns)

Rayleigh (CDF)

1.24
(21ns)

1.24
(21ns)

1.00
(17ns)

Rayleigh (PDF)

1.31
(21ns)

1.38
(22ns)

1.00
(16ns)

Rayleigh (quantile)

1.00
(23ns)

1.00
(23ns)

1.09
(25ns)

SkewNormal (CDF)

1.04
(224ns)

1.05
(226ns)

1.00
(216ns)

SkewNormal (PDF)

1.19
(80ns)

1.19
(80ns)

1.00
(67ns)

SkewNormal (quantile)

1.51
(2012ns)

1.15
(1530ns)

1.00
(1330ns)

StudentsT (CDF)

2.05
(440ns)

1.97
(424ns)

1.00
(215ns)

StudentsT (PDF)

1.84
(206ns)

1.84
(206ns)

1.00
(112ns)

StudentsT (quantile)

1.74
(822ns)

1.69
(800ns)

1.00
(473ns)

Weibull (CDF)

1.44
(72ns)

1.44
(72ns)

1.00
(50ns)

Weibull (PDF)

2.16
(134ns)

2.16
(134ns)

1.00
(62ns)

Weibull (quantile)

1.38
(66ns)

1.40
(67ns)

1.00
(48ns)


Table 16. Library Comparison with Clang version 3.7.0 (trunk 236512) on linux

Function

boost 1.59

boost 1.59
promote_double<false>

tr1/cmath

GSL 1.16

Rmath 3.0.2

math.h

assoc_laguerre
(2240/2240 tests selected)

1.05
(217ns)

1.07
(222ns)

1.06
(219ns)

1.00
(207ns)

-

-

assoc_legendre
(205/400 tests selected)

5.62
(253ns)

2.22
(100ns)

1.00
(45ns)

3.36
(151ns)

-

-

beta (incomplete)
(2682/3210 tests selected)

3.30
(1828ns)

1.00
(554ns)

-

1.36
(751ns)

-

-

beta
(2202/2202 tests selected)

5.07
(746ns)

1.03
(151ns)

1.00
(147ns)

2.63
(386ns)

1.68
(247ns)

-

cbrt
(85/85 tests selected)

2.81
(45ns)

1.00
(16ns)

1.25
(20ns)

-

-

1.31
(21ns)

cyl_bessel_i (integer order)
(494/526 tests selected)

4.29
(859ns)

1.22
(243ns)

1.00
(200ns)

2.27
(454ns)

5.34
(1068ns)

cyl_bessel_i
(177/240 tests selected)

7.45
(1461ns)

2.01
(394ns)

1.00
(196ns)

4.77
(934ns)

8.40
(1646ns)

-

cyl_bessel_j (integer order)
(250/268 tests selected)

2.93
(281ns)

1.00
(96ns)

2.62
(252ns)

2.65
(254ns)

4.39
(421ns)

1.98
(190ns)

cyl_bessel_j
(423/451 tests selected)

3.03
(1123ns)

1.13
(420ns)

1.00
(371ns)

2.26
(838ns)

1.20
(445ns)

-

cyl_bessel_k (integer order)
(505/508 tests selected)

21.02
(5170ns)

1.53
(377ns)

10.74
(2641ns)

1.00
(246ns)

1.45
(357ns)

-

cyl_bessel_k
(96/279 tests selected)

6.51
(4826ns)

1.00
(741ns)

1.02
(759ns)

1.14
(846ns)

1.09
(810ns)

-

cyl_neumann (integer order)
(423/428 tests selected)

2.65
(713ns)

1.00
(269ns)

2.70
(726ns)

1.88
(507ns)

3.78
(1018ns)

1.37
(369ns)

cyl_neumann
(400/450 tests selected)

2.89
(1714ns)

1.00
(594ns)

1.27
(753ns)

2.35
(1398ns)

1.04
(619ns)

-

digamma
(1019/1019 tests selected)

2.00
(70ns)

1.00
(35ns)

-

2.91
(102ns)

4.60
(161ns)

-

ellint_1 (complete)
(109/109 tests selected)

1.78
(48ns)

1.00
(27ns)

7.15
(193ns)

10.37
(280ns)

-

ellint_1
(627/629 tests selected)

4.23
(732ns)

1.00
(173ns)

1.99
(344ns)

2.65
(458ns)

-

-

ellint_2 (complete)
(109/110 tests selected)

1.69
(54ns)

1.00
(32ns)

13.88
(444ns)

17.91
(573ns)

-

-

ellint_2
(527/530 tests selected)

4.13
(1359ns)

1.00
(329ns)

1.70
(559ns)

2.19
(721ns)

-

-

ellint_3 (complete)
(500/500 tests selected)

3.25
(1452ns)

1.00
(447ns)

1.62
(724ns)

1.99
(890ns)

ellint_3
(831/845 tests selected)

3.96
(2873ns)

1.00
(726ns)

1.45
(1051ns)

1.77
(1283ns)

-

-

ellint_rc
(201/201 tests selected)

1.90
(76ns)

1.00
(40ns)

-

5.15
(206ns)

-

-

ellint_rd
(7588/7588 tests selected)

3.17
(703ns)

1.00
(222ns)

-

1.64
(363ns)

-

-

ellint_rf
(7788/7788 tests selected)

1.84
(103ns)

1.00
(56ns)

-

6.11
(342ns)

-

-

ellint_rj
(7642/8032 tests selected)

3.21
(591ns)

1.00
(184ns)

-

11.96
(2201ns)

-

-

erf
(950/950 tests selected)

1.00
(13ns)

-

1.31
(17ns)

10.85
(141ns)

-

1.31
(17ns)

erfc
(950/950 tests selected)

2.79
(53ns)

1.00
(19ns)

1.26
(24ns)

3.84
(73ns)

-

1.26
(24ns)

expint (En)
(1059/1059 tests selected)

1.72
(265ns)

1.00
(154ns)

-

4.33
(667ns)

-

-

expint
(436/436 tests selected)

2.47
(84ns)

1.00
(34ns)

5.82
(198ns)

4.06
(138ns)

-

-

expm1
(80/80 tests selected)

1.00
(9ns)

1.11
(10ns)

1.00
(9ns)

-

-

1.00
(9ns)

gamma_p
(1379/1379 tests selected)

2.52
(473ns)

1.00
(188ns)

-

4.85
(911ns)

1.64
(308ns)

-

gamma_p_inv
(559/559 tests selected)

2.22
(1506ns)

1.00
(678ns)

-

-

2.20
(1491ns)

-

gamma_q
(1371/1379 tests selected)

2.53
(468ns)

1.00
(185ns)

-

5.87
(1086ns)

1.72
(319ns)

-

gamma_q_inv
(78/559 tests selected)

2.51
(1734ns)

1.00
(691ns)

-

-

1.14
(791ns)

-

ibeta
(3210/3210 tests selected)

3.62
(1725ns)

1.19
(566ns)

-

-

1.00
(477ns)

-

ibeta_inv
(952/1210 tests selected)

2.67
(5597ns)

1.00
(2098ns)

-

-

27.61
(57918ns)

-

ibetac
(3210/3210 tests selected)

3.64
(1724ns)

1.19
(566ns)

-

-

1.00
(474ns)

-

ibetac_inv
(945/1210 tests selected)

2.71
(5703ns)

1.00
(2106ns)

-

-

19.78
(41649ns)

-

jacobi_cn
(2368/2757 tests selected)

5.40
(481ns)

1.91
(170ns)

-

1.00
(89ns)

-

-

jacobi_dn
(2368/2757 tests selected)

5.30
(472ns)

1.88
(167ns)

-

1.00
(89ns)

-

-

jacobi_sn
(2368/2757 tests selected)

5.23
(476ns)

1.88
(171ns)

-

1.00
(91ns)

-

-

laguerre
(280/280 tests selected)

1.00
(138ns)

1.09
(150ns)

1.13
(156ns)

1.06
(146ns)

-

-

legendre Q
(300/300 tests selected)

1.17
(464ns)

1.00
(396ns)

-

1.05
(416ns)

-

-

legendre
(300/300 tests selected)

1.06
(381ns)

1.00
(358ns)

1.01
(361ns)

1.92
(689ns)

-

-

lgamma
(400/400 tests selected)

5.67
(261ns)

2.39
(110ns)

1.00
(46ns)

5.70
(262ns)

1.98
(91ns)

1.00
(46ns)

log1p
(80/80 tests selected)

1.00
(11ns)

1.00
(11ns)

1.00
(11ns)

-

-

1.00
(11ns)

polygamma
(823/1535 tests selected)

8.53
(2798ns)

2.20
(723ns)

-

7.04
(2309ns)

1.00
(328ns)

-

sph_bessel
(483/483 tests selected)

1.82
(1605ns)

1.00
(880ns)

2.15
(1889ns)

2.69
(2364ns)

-

-

sph_neumann
(284/284 tests selected)

8.73
(3772ns)

3.75
(1620ns)

6.59
(2848ns)

1.00
(432ns)

-

-

tgamma (incomplete)
(1266/1379 tests selected)

2.51
(726ns)

1.00
(289ns)

-

2.96
(855ns)

-

-

tgamma
(400/400 tests selected)

4.85
(354ns)

1.29
(94ns)

2.11
(154ns)

1.23
(90ns)

1.00
(73ns)

2.11
(154ns)

trigamma
(659/659 tests selected)

1.71
(36ns)

1.00
(21ns)

-

39.71
(834ns)

11.62
(244ns)

-

zeta
(448/448 tests selected)

2.67
(464ns)

1.00
(174ns)

767.59
(133561ns)

1.56
(272ns)

-

-


Table 17. Library Comparison with GNU C++ version 4.9.2 on Windows x64

Function

boost 1.59

boost 1.59
promote_double<false>

tr1/cmath

math.h

assoc_laguerre
(2240/2240 tests selected)

1.18
(225ns)

1.00
(190ns)

1.21
(230ns)

assoc_legendre
(205/400 tests selected)

-

-

1.00
(46ns)

beta
(2202/2202 tests selected)

2.20
(400ns)

1.21
(221ns)

1.00
(182ns)

cbrt
(85/85 tests selected)

1.04
(48ns)

1.00
(46ns)

1.30
(60ns)

1.30
(60ns)

cyl_bessel_i (integer order)
(515/526 tests selected)

2.64
(652ns)

1.05
(259ns)

1.00
(247ns)

-

cyl_bessel_i
(215/240 tests selected)

4.91
(1045ns)

2.08
(444ns)

1.00
(213ns)

-

cyl_bessel_j (integer order)
(252/268 tests selected)

1.87
(176ns)

1.00
(94ns)

3.14
(295ns)

2.11
(198ns)

cyl_bessel_j
(431/451 tests selected)

2.04
(828ns)

1.28
(520ns)

1.00
(406ns)

-

cyl_bessel_k (integer order)
(505/508 tests selected)

9.50
(3600ns)

1.00
(379ns)

7.34
(2783ns)

-

cyl_bessel_k
(187/279 tests selected)

9.37
(6841ns)

1.00
(730ns)

4.25
(3103ns)

-

cyl_neumann (integer order)
(423/428 tests selected)

3.53
(547ns)

2.25
(348ns)

4.39
(680ns)

1.00
(155ns)

cyl_neumann
(400/450 tests selected)

2.09
(1384ns)

1.00
(663ns)

1.12
(745ns)

-

ellint_1 (complete)
(109/109 tests selected)

1.61
(79ns)

1.00
(49ns)

4.69
(230ns)

-

ellint_1
(627/629 tests selected)

1.55
(389ns)

1.00
(251ns)

1.79
(449ns)

-

ellint_2 (complete)
(110/110 tests selected)

2.09
(69ns)

1.00
(33ns)

15.64
(516ns)

-

ellint_2
(527/530 tests selected)

1.42
(681ns)

1.00
(480ns)

1.51
(725ns)

-

ellint_3 (complete)
(500/500 tests selected)

1.94
(1122ns)

1.00
(577ns)

1.48
(854ns)

-

ellint_3
(831/845 tests selected)

1.86
(1828ns)

1.00
(982ns)

1.31
(1286ns)

-

erf
(950/950 tests selected)

1.00
(26ns)

-

1.69
(44ns)

1.69
(44ns)

erfc
(950/950 tests selected)

1.57
(55ns)

1.00
(35ns)

1.83
(64ns)

1.83
(64ns)

expint
(436/436 tests selected)

1.44
(89ns)

1.00
(62ns)

3.76
(233ns)

-

expm1
(80/80 tests selected)

1.36
(30ns)

1.09
(24ns)

1.05
(23ns)

1.00
(22ns)

laguerre
(280/280 tests selected)

1.07
(142ns)

1.00
(133ns)

1.22
(162ns)

-

legendre
(300/300 tests selected)

1.24
(410ns)

1.00
(330ns)

1.19
(392ns)

-

lgamma
(400/400 tests selected)

4.19
(239ns)

2.46
(140ns)

1.05
(60ns)

1.00
(57ns)

log1p
(80/80 tests selected)

1.88
(30ns)

1.00
(16ns)

1.75
(28ns)

1.75
(28ns)

sph_bessel
(483/483 tests selected)

1.42
(1372ns)

1.00
(966ns)

1.88
(1815ns)

-

sph_neumann
(284/284 tests selected)

2.04
(3557ns)

1.00
(1746ns)

1.54
(2693ns)

-

tgamma
(400/400 tests selected)

2.96
(213ns)

1.90
(137ns)

1.17
(84ns)

1.00
(72ns)

zeta
(448/448 tests selected)

1.52
(350ns)

1.00
(231ns)

812.33
(187648ns)

-


Table 18. Library Comparison with GNU C++ version 5.1.0 on linux

Function

boost 1.59

boost 1.59
promote_double<false>

tr1/cmath

GSL 1.16

Rmath 3.0.2

math.h

assoc_laguerre
(2240/2240 tests selected)

1.17
(218ns)

1.00
(186ns)

1.19
(222ns)

1.11
(206ns)

-

-

assoc_legendre
(205/400 tests selected)

4.08
(241ns)

1.64
(97ns)

1.00
(59ns)

2.56
(151ns)

-

-

beta (incomplete)
(2682/3210 tests selected)

3.15
(1746ns)

1.00
(555ns)

-

1.38
(764ns)

-

-

beta
(2202/2202 tests selected)

4.72
(698ns)

1.02
(151ns)

1.00
(148ns)

2.61
(386ns)

1.66
(246ns)

-

cbrt
(85/85 tests selected)

2.41
(41ns)

1.00
(17ns)

1.18
(20ns)

-

-

1.18
(20ns)

cyl_bessel_i (integer order)
(494/526 tests selected)

3.78
(752ns)

1.16
(231ns)

1.00
(199ns)

2.30
(458ns)

5.36
(1067ns)

cyl_bessel_i
(177/240 tests selected)

6.84
(1354ns)

1.92
(381ns)

1.00
(198ns)

4.63
(917ns)

8.34
(1652ns)

-

cyl_bessel_j (integer order)
(250/268 tests selected)

2.66
(258ns)

1.00
(97ns)

2.55
(247ns)

2.67
(259ns)

4.43
(430ns)

2.02
(196ns)

cyl_bessel_j
(423/451 tests selected)

2.84
(1029ns)

1.06
(382ns)

1.00
(362ns)

2.31
(837ns)

1.21
(439ns)

-

cyl_bessel_k (integer order)
(505/508 tests selected)

13.82
(3456ns)

1.34
(336ns)

10.71
(2677ns)

1.00
(250ns)

1.42
(355ns)

-

cyl_bessel_k
(96/279 tests selected)

6.87
(4416ns)

1.00
(643ns)

1.19
(765ns)

1.32
(851ns)

1.27
(814ns)

-

cyl_neumann (integer order)
(423/428 tests selected)

2.06
(532ns)

1.00
(258ns)

2.62
(675ns)

1.95
(504ns)

3.97
(1023ns)

1.41
(364ns)

cyl_neumann
(400/450 tests selected)

2.47
(1418ns)

1.00
(574ns)

1.26
(723ns)

2.38
(1364ns)

1.06
(608ns)

-

digamma
(1019/1019 tests selected)

1.86
(67ns)

1.00
(36ns)

-

2.81
(101ns)

4.42
(159ns)

-

ellint_1 (complete)
(109/109 tests selected)

2.12
(53ns)

1.00
(25ns)

9.52
(238ns)

11.12
(278ns)

-

ellint_1
(627/629 tests selected)

1.95
(349ns)

1.00
(179ns)

2.29
(410ns)

2.55
(456ns)

-

-

ellint_2 (complete)
(109/110 tests selected)

1.75
(56ns)

1.00
(32ns)

16.09
(515ns)

18.31
(586ns)

-

-

ellint_2
(527/530 tests selected)

2.30
(779ns)

1.00
(339ns)

1.86
(631ns)

2.11
(714ns)

-

-

ellint_3 (complete)
(500/500 tests selected)

2.49
(1131ns)

1.00
(455ns)

1.81
(823ns)

1.99
(904ns)

ellint_3
(831/845 tests selected)

2.72
(2031ns)

1.00
(748ns)

1.59
(1187ns)

1.69
(1265ns)

-

-

ellint_rc
(201/201 tests selected)

1.63
(75ns)

1.00
(46ns)

-

4.57
(210ns)

-

-

ellint_rd
(7588/7588 tests selected)

2.17
(488ns)

1.00
(225ns)

-

1.60
(360ns)

-

-

ellint_rf
(7788/7788 tests selected)

1.48
(92ns)

1.00
(62ns)

-

5.52
(342ns)

-

-

ellint_rj
(7642/8032 tests selected)

2.32
(460ns)

1.00
(198ns)

-

11.41
(2260ns)

-

-

erf
(950/950 tests selected)

1.00
(13ns)

-

1.31
(17ns)

10.62
(138ns)

-

1.31
(17ns)

erfc
(950/950 tests selected)

2.79
(53ns)

1.00
(19ns)

1.26
(24ns)

3.89
(74ns)

-

1.26
(24ns)

expint (En)
(1059/1059 tests selected)

1.83
(244ns)

1.00
(133ns)

-

4.86
(646ns)

-

-

expint
(436/436 tests selected)

2.62
(89ns)

1.00
(34ns)

5.79
(197ns)

4.12
(140ns)

-

-

expm1
(80/80 tests selected)

1.20
(12ns)

1.00
(10ns)

1.20
(12ns)

-

-

1.20
(12ns)

gamma_p
(1379/1379 tests selected)

2.40
(454ns)

1.00
(189ns)

-

4.90
(927ns)

1.69
(320ns)

-

gamma_p_inv
(559/559 tests selected)

2.19
(1497ns)

1.00
(684ns)

-

-

2.20
(1507ns)

-

gamma_q
(1371/1379 tests selected)

2.48
(466ns)

1.00
(188ns)

-

5.86
(1102ns)

1.78
(335ns)

-

gamma_q_inv
(78/559 tests selected)

2.57
(1756ns)

1.00
(683ns)

-

-

1.14
(776ns)

-

ibeta
(3210/3210 tests selected)

3.44
(1641ns)

1.22
(584ns)

-

-

1.00
(477ns)

-

ibeta_inv
(952/1210 tests selected)

2.50
(5230ns)

1.00
(2093ns)

-

-

27.89
(58371ns)

-

ibetac
(3210/3210 tests selected)

3.44
(1650ns)

1.22
(586ns)

-

-

1.00
(479ns)

-

ibetac_inv
(945/1210 tests selected)

2.48
(5308ns)

1.00
(2141ns)

-

-

19.56
(41869ns)

-

jacobi_cn
(2368/2757 tests selected)

5.30
(466ns)

1.89
(166ns)

-

1.00
(88ns)

-

-

jacobi_dn
(2368/2757 tests selected)

5.13
(457ns)

1.85
(165ns)

-

1.00
(89ns)

-

-

jacobi_sn
(2368/2757 tests selected)

5.17
(465ns)

1.84
(166ns)

-

1.00
(90ns)

-

-

laguerre
(280/280 tests selected)

1.17
(142ns)

1.00
(121ns)

1.31
(158ns)

1.20
(145ns)

-

-

legendre Q
(300/300 tests selected)

1.21
(466ns)

1.00
(384ns)

-

1.11
(425ns)

-

-

legendre
(300/300 tests selected)

1.16
(385ns)

1.00
(332ns)

1.10
(366ns)

2.11
(702ns)

-

-

lgamma
(400/400 tests selected)

5.42
(244ns)

2.47
(111ns)

1.00
(45ns)

5.89
(265ns)

2.02
(91ns)

1.02
(46ns)

log1p
(80/80 tests selected)

1.10
(11ns)

1.10
(11ns)

1.00
(10ns)

-

-

1.00
(10ns)

polygamma
(823/1535 tests selected)

8.64
(2791ns)

2.24
(722ns)

-

7.29
(2355ns)

1.00
(323ns)

-

sph_bessel
(483/483 tests selected)

1.72
(1520ns)

1.00
(883ns)

2.15
(1896ns)

2.74
(2419ns)

-

-

sph_neumann
(284/284 tests selected)

7.72
(3368ns)

3.61
(1575ns)

6.33
(2758ns)

1.00
(436ns)

-

-

tgamma (incomplete)
(1266/1379 tests selected)

2.36
(691ns)

1.00
(293ns)

-

2.98
(873ns)

-

-

tgamma
(400/400 tests selected)

4.44
(333ns)

1.24
(93ns)

2.07
(155ns)

1.21
(91ns)

1.00
(75ns)

2.07
(155ns)

trigamma
(659/659 tests selected)

1.58
(30ns)

1.00
(19ns)

-

44.53
(846ns)

12.68
(241ns)

-

zeta
(448/448 tests selected)

2.70
(492ns)

1.00
(182ns)

737.18
(134167ns)

1.48
(269ns)

-

-


Table 19. Library Comparison with Intel C++ C++0x mode version 1500 on Windows x64

Function

boost 1.59

math.h

cbrt
(85/85 tests selected)

1.75
(14ns)

1.00
(8ns)

cyl_bessel_j (integer order)
(268/268 tests selected)

1.00
(79ns)

1.06
(84ns)

cyl_neumann (integer order)
(428/428 tests selected)

1.24
(270ns)

1.00
(218ns)

erf
(950/950 tests selected)

1.00
(11ns)

2.45
(27ns)

erfc
(950/950 tests selected)

1.00
(17ns)

6.59
(112ns)

expm1
(80/80 tests selected)

1.00
(8ns)

1.25
(10ns)

lgamma
(400/400 tests selected)

1.44
(69ns)

1.00
(48ns)

log1p
(80/80 tests selected)

1.00
(10ns)

1.10
(11ns)

tgamma
(400/400 tests selected)

1.03
(64ns)

1.00
(62ns)


Table 20. Library Comparison with Intel C++ C++0x mode version 1500 on linux

Function

boost 1.59

boost 1.59
promote_double<false>

tr1/cmath

GSL 1.16

Rmath 3.0.2

math.h

assoc_laguerre
(2240/2240 tests selected)

1.21
(215ns)

1.00
(177ns)

1.24
(219ns)

1.19
(210ns)

-

-

assoc_legendre
(205/400 tests selected)

3.47
(163ns)

1.81
(85ns)

1.00
(47ns)

2.49
(117ns)

-

-

beta (incomplete)
(2682/3210 tests selected)

3.36
(1235ns)

1.00
(368ns)

-

1.57
(578ns)

-

-

beta
(2195/2202 tests selected)

5.99
(485ns)

1.00
(81ns)

1.38
(112ns)

3.19
(258ns)

2.23
(181ns)

-

cbrt
(85/85 tests selected)

3.70
(37ns)

1.80
(18ns)

1.00
(10ns)

-

-

1.00
(10ns)

cyl_bessel_i (integer order)
(494/526 tests selected)

4.25
(702ns)

1.26
(208ns)

1.00
(165ns)

2.51
(414ns)

6.64
(1095ns)

cyl_bessel_i
(177/240 tests selected)

7.18
(1142ns)

1.93
(307ns)

1.00
(159ns)

4.65
(740ns)

10.21
(1624ns)

-

cyl_bessel_j (integer order)
(250/268 tests selected)

2.92
(216ns)

1.00
(74ns)

3.00
(222ns)

3.24
(240ns)

5.82
(431ns)

1.11
(82ns)

cyl_bessel_j
(423/451 tests selected)

2.94
(930ns)

1.00
(316ns)

1.05
(332ns)

2.41
(761ns)

1.31
(413ns)

-

cyl_bessel_k (integer order)
(505/508 tests selected)

15.97
(3721ns)

1.45
(338ns)

11.12
(2592ns)

1.00
(233ns)

1.48
(344ns)

-

cyl_bessel_k
(96/279 tests selected)

7.50
(4370ns)

1.04
(606ns)

1.00
(583ns)

1.37
(798ns)

1.34
(781ns)

-

cyl_neumann (integer order)
(423/428 tests selected)

2.92
(557ns)

1.27
(243ns)

3.41
(652ns)

2.59
(495ns)

5.37
(1026ns)

1.00
(191ns)

cyl_neumann
(400/450 tests selected)

2.74
(1338ns)

1.00
(489ns)

1.38
(674ns)

2.81
(1375ns)

1.25
(612ns)

-

digamma
(1019/1019 tests selected)

2.21
(53ns)

1.00
(24ns)

-

3.79
(91ns)

5.92
(142ns)

-

ellint_1 (complete)
(109/109 tests selected)

1.95
(41ns)

1.00
(21ns)

10.76
(226ns)

13.81
(290ns)

-

ellint_1
(627/629 tests selected)

2.19
(377ns)

1.00
(172ns)

2.01
(346ns)

2.61
(449ns)

-

-

ellint_2 (complete)
(109/110 tests selected)

2.22
(60ns)

1.00
(27ns)

18.74
(506ns)

21.33
(576ns)

-

-

ellint_2
(527/530 tests selected)

3.30
(936ns)

1.00
(284ns)

2.00
(567ns)

2.57
(730ns)

-

-

ellint_3 (complete)
(500/500 tests selected)

3.07
(1080ns)

1.00
(352ns)

2.08
(731ns)

2.56
(900ns)

ellint_3
(831/845 tests selected)

3.40
(2016ns)

1.00
(593ns)

1.77
(1052ns)

2.19
(1301ns)

-

-

ellint_rc
(201/201 tests selected)

1.59
(51ns)

1.00
(32ns)

-

6.50
(208ns)

-

-

ellint_rd
(7588/7588 tests selected)

2.15
(407ns)

1.00
(189ns)

-

1.94
(366ns)

-

-

ellint_rf
(7788/7788 tests selected)

1.63
(67ns)

1.00
(41ns)

-

8.34
(342ns)

-

-

ellint_rj
(7642/8032 tests selected)

2.95
(448ns)

1.00
(152ns)

-

14.51
(2206ns)

-

-

erf
(950/950 tests selected)

1.00
(13ns)

-

2.00
(26ns)

9.85
(128ns)

-

2.00
(26ns)

erfc
(950/950 tests selected)

2.37
(45ns)

1.00
(19ns)

5.74
(109ns)

3.74
(71ns)

-

5.74
(109ns)

expint (En)
(1059/1059 tests selected)

1.95
(217ns)

1.00
(111ns)

-

4.86
(539ns)

-

-

expint
(436/436 tests selected)

2.26
(70ns)

1.00
(31ns)

6.03
(187ns)

4.13
(128ns)

-

-

expm1
(80/80 tests selected)

1.50
(12ns)

1.00
(8ns)

1.38
(11ns)

-

-

1.38
(11ns)

gamma_p
(1379/1379 tests selected)

2.54
(369ns)

1.00
(145ns)

-

6.21
(901ns)

1.92
(278ns)

-

gamma_p_inv
(559/559 tests selected)

2.29
(1100ns)

1.00
(481ns)

-

-

2.55
(1228ns)

-

gamma_q
(1371/1379 tests selected)

2.66
(362ns)

1.00
(136ns)

-

7.80
(1061ns)

2.11
(287ns)

-

gamma_q_inv
(78/559 tests selected)

2.85
(1016ns)

1.00
(356ns)

-

-

1.36
(483ns)

-

ibeta
(3210/3210 tests selected)

3.33
(1208ns)

1.00
(363ns)

-

-

1.10
(398ns)

-

ibeta_inv
(951/1210 tests selected)

2.92
(4275ns)

1.00
(1465ns)

-

-

26.47
(38780ns)

-

ibetac
(3210/3210 tests selected)

3.30
(1177ns)

1.00
(357ns)

-

-

1.08
(386ns)

-

ibetac_inv
(945/1210 tests selected)

2.92
(4329ns)

1.00
(1481ns)

-

-

19.23
(28484ns)

-

jacobi_cn
(2368/2757 tests selected)

3.83
(345ns)

1.39
(125ns)

-

1.00
(90ns)

-

-

jacobi_dn
(2368/2757 tests selected)

4.02
(362ns)

1.47
(132ns)

-

1.00
(90ns)

-

-

jacobi_sn
(2368/2757 tests selected)

3.47
(316ns)

1.36
(124ns)

-

1.00
(91ns)

-

-

laguerre
(280/280 tests selected)

1.20
(140ns)

1.00
(117ns)

1.33
(156ns)

1.28
(150ns)

-

-

legendre Q
(300/300 tests selected)

1.26
(534ns)

1.08
(457ns)

-

1.00
(423ns)

-

-

legendre
(300/300 tests selected)

1.23
(450ns)

1.03
(377ns)

1.00
(366ns)

1.89
(693ns)

-

-

lgamma
(400/400 tests selected)

3.87
(182ns)

1.40
(66ns)

1.00
(47ns)

3.62
(170ns)

1.62
(76ns)

1.00
(47ns)

log1p
(80/80 tests selected)

1.08
(13ns)

1.00
(12ns)

1.00
(12ns)

-

-

1.00
(12ns)

polygamma
(823/1535 tests selected)

6.54
(1459ns)

1.22
(273ns)

-

2.13
(476ns)

1.00
(223ns)

-

sph_bessel
(483/483 tests selected)

1.69
(1413ns)

1.00
(838ns)

2.03
(1697ns)

2.75
(2305ns)

-

-

sph_neumann
(284/284 tests selected)

8.35
(3514ns)

3.70
(1559ns)

6.08
(2558ns)

1.00
(421ns)

-

-

tgamma (incomplete)
(1266/1379 tests selected)

2.39
(495ns)

1.00
(207ns)

-

3.78
(783ns)

-

-

tgamma
(400/400 tests selected)

3.83
(203ns)

1.00
(53ns)

1.30
(69ns)

1.19
(63ns)

1.19
(63ns)

1.30
(69ns)

trigamma
(659/659 tests selected)

1.65
(33ns)

1.00
(20ns)

-

41.55
(831ns)

12.25
(245ns)

-

zeta
(448/448 tests selected)

2.98
(337ns)

1.00
(113ns)

596.97
(67458ns)

1.53
(173ns)

-

-


Table 21. Library Comparison with Microsoft Visual C++ version 14.0 on Windows x64

Function

boost 1.59

math.h

cbrt
(85/85 tests selected)

1.00
(54ns)

1.15
(62ns)

cyl_bessel_j (integer order)
(267/268 tests selected)

1.00
(105ns)

1.98
(208ns)

cyl_neumann (integer order)
(428/428 tests selected)

1.61
(328ns)

1.00
(204ns)

erf
(950/950 tests selected)

1.00
(17ns)

1.24
(21ns)

erfc
(950/950 tests selected)

1.00
(25ns)

2.60
(65ns)

expm1
(80/80 tests selected)

1.00
(8ns)

1.25
(10ns)

lgamma
(400/400 tests selected)

1.00
(88ns)

1.43
(126ns)

log1p
(80/80 tests selected)

1.00
(11ns)

1.82
(20ns)

tgamma
(400/400 tests selected)

1.00
(109ns)

11.68
(1273ns)


Table 22. Polynomial Method Comparison with Clang version 3.7.0 (trunk 236512) on linux

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.00
(8ns)

1.00
(8ns)

1.00
(8ns)

1.00
(8ns)

1.00
(8ns)

1.00
(8ns)

Order 3

1.73
(19ns)

2.55
(28ns)

1.00
(11ns)

1.00
(11ns)

1.00
(11ns)

1.00
(11ns)

1.00
(11ns)

1.00
(11ns)

Order 4

1.92
(25ns)

2.85
(37ns)

1.08
(14ns)

1.08
(14ns)

1.08
(14ns)

1.00
(13ns)

1.08
(14ns)

1.00
(13ns)

Order 5

1.05
(20ns)

1.84
(35ns)

1.00
(19ns)

1.00
(19ns)

1.05
(20ns)

1.00
(19ns)

1.00
(19ns)

1.00
(19ns)

Order 6

1.29
(27ns)

2.14
(45ns)

1.14
(24ns)

1.14
(24ns)

1.24
(26ns)

1.24
(26ns)

1.00
(21ns)

1.00
(21ns)

Order 7

1.42
(34ns)

2.33
(56ns)

1.25
(30ns)

1.25
(30ns)

1.00
(24ns)

1.00
(24ns)

1.00
(24ns)

1.00
(24ns)

Order 8

1.62
(42ns)

2.62
(68ns)

1.35
(35ns)

1.35
(35ns)

1.27
(33ns)

1.31
(34ns)

1.00
(26ns)

1.00
(26ns)

Order 9

1.48
(43ns)

2.45
(71ns)

1.45
(42ns)

1.45
(42ns)

1.00
(29ns)

1.00
(29ns)

1.00
(29ns)

1.00
(29ns)

Order 10

1.62
(52ns)

2.62
(84ns)

1.53
(49ns)

1.53
(49ns)

1.31
(42ns)

1.31
(42ns)

1.00
(32ns)

1.00
(32ns)

Order 11

1.74
(61ns)

2.83
(99ns)

1.60
(56ns)

1.60
(56ns)

1.00
(35ns)

1.00
(35ns)

1.00
(35ns)

1.00
(35ns)

Order 12

1.87
(71ns)

3.03
(115ns)

1.79
(68ns)

1.79
(68ns)

1.42
(54ns)

1.42
(54ns)

1.03
(39ns)

1.00
(38ns)

Order 13

1.93
(77ns)

3.00
(120ns)

1.82
(73ns)

1.80
(72ns)

1.00
(40ns)

1.02
(41ns)

1.02
(41ns)

1.02
(41ns)

Order 14

1.89
(85ns)

3.02
(136ns)

1.93
(87ns)

1.93
(87ns)

1.36
(61ns)

1.33
(60ns)

1.00
(45ns)

1.00
(45ns)

Order 15

1.94
(95ns)

3.02
(148ns)

1.98
(97ns)

6.53
(320ns)

1.00
(49ns)

3.63
(178ns)

1.00
(49ns)

2.96
(145ns)

Order 16

2.04
(108ns)

3.06
(162ns)

2.02
(107ns)

6.70
(355ns)

1.45
(77ns)

3.64
(193ns)

1.00
(53ns)

3.11
(165ns)

Order 17

2.07
(118ns)

2.91
(166ns)

2.09
(119ns)

6.47
(369ns)

1.00
(57ns)

3.53
(201ns)

1.00
(57ns)

3.12
(178ns)

Order 18

2.03
(126ns)

2.92
(181ns)

2.08
(129ns)

6.52
(404ns)

1.44
(89ns)

3.48
(216ns)

1.00
(62ns)

2.94
(182ns)

Order 19

2.12
(140ns)

3.17
(209ns)

2.15
(142ns)

6.32
(417ns)

1.00
(66ns)

3.44
(227ns)

1.00
(66ns)

2.71
(179ns)

Order 20

1.23
(152ns)

1.85
(230ns)

1.42
(176ns)

3.65
(452ns)

1.00
(124ns)

1.95
(242ns)

1.00
(124ns)

1.44
(178ns)


Table 23. Polynomial Method Comparison with GNU C++ version 4.9.2 on Windows x64

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.12
(9ns)

1.12
(9ns)

1.12
(9ns)

1.12
(9ns)

1.00
(8ns)

1.12
(9ns)

Order 3

2.09
(23ns)

2.73
(30ns)

1.09
(12ns)

1.09
(12ns)

1.09
(12ns)

1.09
(12ns)

1.00
(11ns)

1.09
(12ns)

Order 4

2.07
(29ns)

3.00
(42ns)

1.07
(15ns)

1.14
(16ns)

1.14
(16ns)

1.07
(15ns)

1.00
(14ns)

1.00
(14ns)

Order 5

1.74
(33ns)

2.47
(47ns)

1.00
(19ns)

1.00
(19ns)

1.05
(20ns)

1.05
(20ns)

1.00
(19ns)

1.00
(19ns)

Order 6

1.82
(40ns)

2.55
(56ns)

1.00
(22ns)

1.05
(23ns)

1.23
(27ns)

1.09
(24ns)

1.00
(22ns)

1.00
(22ns)

Order 7

1.62
(47ns)

2.24
(65ns)

1.00
(29ns)

1.00
(29ns)

1.10
(32ns)

1.07
(31ns)

1.00
(29ns)

1.00
(29ns)

Order 8

1.76
(60ns)

2.26
(77ns)

1.12
(38ns)

1.15
(39ns)

1.12
(38ns)

1.06
(36ns)

1.00
(34ns)

1.00
(34ns)

Order 9

1.97
(73ns)

2.62
(97ns)

1.24
(46ns)

1.27
(47ns)

1.11
(41ns)

1.08
(40ns)

1.00
(37ns)

1.00
(37ns)

Order 10

1.74
(73ns)

2.55
(107ns)

1.26
(53ns)

1.38
(58ns)

1.10
(46ns)

1.07
(45ns)

1.02
(43ns)

1.00
(42ns)

Order 11

1.80
(83ns)

2.63
(121ns)

1.30
(60ns)

1.33
(61ns)

1.13
(52ns)

1.07
(49ns)

1.00
(46ns)

1.00
(46ns)

Order 12

2.00
(104ns)

2.69
(140ns)

1.35
(70ns)

1.37
(71ns)

1.13
(59ns)

1.06
(55ns)

1.00
(52ns)

1.00
(52ns)

Order 13

2.00
(104ns)

3.02
(157ns)

1.40
(73ns)

1.50
(78ns)

1.12
(58ns)

1.10
(57ns)

1.02
(53ns)

1.00
(52ns)

Order 14

2.07
(118ns)

2.86
(163ns)

1.54
(88ns)

1.65
(94ns)

1.16
(66ns)

1.07
(61ns)

1.00
(57ns)

1.02
(58ns)

Order 15

1.87
(129ns)

2.71
(187ns)

1.45
(100ns)

1.42
(98ns)

1.07
(74ns)

1.10
(76ns)

1.00
(69ns)

1.00
(69ns)

Order 16

2.04
(151ns)

2.74
(203ns)

1.55
(115ns)

1.46
(108ns)

1.18
(87ns)

1.08
(80ns)

1.00
(74ns)

1.00
(74ns)

Order 17

2.05
(162ns)

2.82
(223ns)

1.57
(124ns)

1.59
(126ns)

1.09
(86ns)

1.08
(85ns)

1.00
(79ns)

1.00
(79ns)

Order 18

2.07
(176ns)

2.93
(249ns)

1.56
(133ns)

1.62
(138ns)

1.14
(97ns)

1.09
(93ns)

1.00
(85ns)

1.00
(85ns)

Order 19

2.23
(196ns)

2.90
(255ns)

1.68
(148ns)

1.76
(155ns)

1.09
(96ns)

1.08
(95ns)

1.00
(88ns)

1.00
(88ns)

Order 20

2.18
(205ns)

3.11
(292ns)

1.67
(157ns)

1.74
(164ns)

1.12
(105ns)

1.03
(97ns)

1.00
(94ns)

1.00
(94ns)


Table 24. Polynomial Method Comparison with GNU C++ version 5.1.0 on linux

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

Order 3

1.50
(18ns)

2.08
(25ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

Order 4

1.40
(21ns)

2.27
(34ns)

1.00
(15ns)

1.07
(16ns)

1.00
(15ns)

1.00
(15ns)

1.00
(15ns)

1.07
(16ns)

Order 5

1.44
(26ns)

2.67
(48ns)

1.00
(18ns)

1.00
(18ns)

1.06
(19ns)

1.06
(19ns)

1.11
(20ns)

1.11
(20ns)

Order 6

1.61
(37ns)

2.35
(54ns)

1.00
(23ns)

1.00
(23ns)

1.04
(24ns)

1.04
(24ns)

1.00
(23ns)

1.00
(23ns)

Order 7

1.59
(43ns)

2.37
(64ns)

1.07
(29ns)

1.04
(28ns)

1.00
(27ns)

1.00
(27ns)

1.04
(28ns)

1.00
(27ns)

Order 8

1.74
(54ns)

2.32
(72ns)

1.13
(35ns)

1.16
(36ns)

1.06
(33ns)

1.03
(32ns)

1.03
(32ns)

1.00
(31ns)

Order 9

1.83
(64ns)

2.60
(91ns)

1.20
(42ns)

1.20
(42ns)

1.03
(36ns)

1.03
(36ns)

1.00
(35ns)

1.03
(36ns)

Order 10

1.66
(68ns)

2.44
(100ns)

1.22
(50ns)

1.22
(50ns)

1.02
(42ns)

1.02
(42ns)

1.00
(41ns)

1.00
(41ns)

Order 11

1.76
(81ns)

2.48
(114ns)

1.26
(58ns)

1.26
(58ns)

1.00
(46ns)

1.00
(46ns)

1.00
(46ns)

1.00
(46ns)

Order 12

1.86
(95ns)

2.55
(130ns)

1.31
(67ns)

1.35
(69ns)

1.04
(53ns)

1.04
(53ns)

1.00
(51ns)

1.00
(51ns)

Order 13

2.02
(103ns)

2.80
(143ns)

1.41
(72ns)

1.41
(72ns)

1.00
(51ns)

1.00
(51ns)

1.00
(51ns)

1.00
(51ns)

Order 14

2.02
(113ns)

2.80
(157ns)

1.54
(86ns)

1.52
(85ns)

1.05
(59ns)

1.07
(60ns)

1.02
(57ns)

1.00
(56ns)

Order 15

1.74
(127ns)

2.38
(174ns)

1.34
(98ns)

1.30
(95ns)

1.00
(73ns)

1.01
(74ns)

1.00
(73ns)

1.00
(73ns)

Order 16

1.95
(154ns)

2.48
(196ns)

1.35
(107ns)

1.37
(108ns)

1.04
(82ns)

1.03
(81ns)

1.00
(79ns)

1.00
(79ns)

Order 17

1.90
(158ns)

2.61
(217ns)

1.45
(120ns)

1.45
(120ns)

1.02
(85ns)

1.01
(84ns)

1.00
(83ns)

1.01
(84ns)

Order 18

1.91
(170ns)

2.69
(239ns)

1.49
(133ns)

1.48
(132ns)

1.04
(93ns)

1.03
(92ns)

1.00
(89ns)

1.00
(89ns)

Order 19

1.98
(182ns)

2.79
(257ns)

1.57
(144ns)

1.57
(144ns)

1.01
(93ns)

1.01
(93ns)

1.00
(92ns)

1.01
(93ns)

Order 20

1.99
(195ns)

2.80
(274ns)

1.59
(156ns)

1.59
(156ns)

1.05
(103ns)

1.05
(103ns)

1.00
(98ns)

1.01
(99ns)


Table 25. Polynomial Method Comparison with Intel C++ C++0x mode version 1500 on Windows x64

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.20
(6ns)

1.20
(6ns)

1.20
(6ns)

1.20
(6ns)

1.00
(5ns)

1.00
(5ns)

Order 3

2.67
(24ns)

3.22
(29ns)

1.11
(10ns)

1.22
(11ns)

1.11
(10ns)

1.11
(10ns)

1.00
(9ns)

1.00
(9ns)

Order 4

2.25
(27ns)

2.92
(35ns)

1.25
(15ns)

1.25
(15ns)

1.17
(14ns)

1.08
(13ns)

1.08
(13ns)

1.00
(12ns)

Order 5

1.78
(32ns)

2.56
(46ns)

1.00
(18ns)

1.11
(20ns)

1.11
(20ns)

1.00
(18ns)

1.06
(19ns)

1.00
(18ns)

Order 6

1.73
(38ns)

2.36
(52ns)

1.00
(22ns)

1.00
(22ns)

1.23
(27ns)

1.18
(26ns)

1.05
(23ns)

1.09
(24ns)

Order 7

2.09
(46ns)

3.09
(68ns)

1.14
(25ns)

1.00
(22ns)

1.27
(28ns)

1.27
(28ns)

1.27
(28ns)

1.23
(27ns)

Order 8

1.96
(55ns)

2.68
(75ns)

1.00
(28ns)

1.11
(31ns)

1.18
(33ns)

1.29
(36ns)

1.18
(33ns)

1.21
(34ns)

Order 9

1.91
(63ns)

2.79
(92ns)

1.12
(37ns)

1.00
(33ns)

1.15
(38ns)

1.12
(37ns)

1.06
(35ns)

1.06
(35ns)

Order 10

1.95
(74ns)

2.68
(102ns)

1.00
(38ns)

1.16
(44ns)

1.11
(42ns)

1.13
(43ns)

1.08
(41ns)

1.08
(41ns)

Order 11

1.78
(82ns)

2.52
(116ns)

1.13
(52ns)

1.00
(46ns)

1.04
(48ns)

1.02
(47ns)

1.04
(48ns)

1.22
(56ns)

Order 12

1.86
(93ns)

2.56
(128ns)

1.16
(58ns)

1.26
(63ns)

1.06
(53ns)

1.00
(50ns)

1.16
(58ns)

1.18
(59ns)

Order 13

2.26
(106ns)

2.98
(140ns)

1.23
(58ns)

1.13
(53ns)

1.15
(54ns)

1.13
(53ns)

1.06
(50ns)

1.00
(47ns)

Order 14

2.57
(121ns)

3.28
(154ns)

1.17
(55ns)

1.15
(54ns)

1.21
(57ns)

1.13
(53ns)

1.00
(47ns)

1.00
(47ns)

Order 15

2.93
(135ns)

6.04
(278ns)

1.09
(50ns)

1.15
(53ns)

1.17
(54ns)

1.24
(57ns)

1.00
(46ns)

1.00
(46ns)

Order 16

4.04
(190ns)

5.91
(278ns)

1.17
(55ns)

1.09
(51ns)

1.21
(57ns)

1.17
(55ns)

1.02
(48ns)

1.00
(47ns)

Order 17

5.59
(257ns)

6.61
(304ns)

1.30
(60ns)

1.24
(57ns)

1.17
(54ns)

1.24
(57ns)

1.00
(46ns)

1.02
(47ns)

Order 18

5.26
(247ns)

6.94
(326ns)

1.13
(53ns)

1.15
(54ns)

1.17
(55ns)

1.13
(53ns)

1.02
(48ns)

1.00
(47ns)

Order 19

6.07
(279ns)

7.24
(333ns)

1.09
(50ns)

1.15
(53ns)

1.17
(54ns)

1.13
(52ns)

1.02
(47ns)

1.00
(46ns)

Order 20

5.55
(261ns)

8.11
(381ns)

1.11
(52ns)

1.06
(50ns)

1.15
(54ns)

1.13
(53ns)

1.02
(48ns)

1.00
(47ns)


Table 26. Polynomial Method Comparison with Intel C++ C++0x mode version 1500 on linux

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.20
(6ns)

1.20
(6ns)

1.00
(5ns)

1.00
(5ns)

1.00
(5ns)

1.00
(5ns)

Order 3

1.75
(14ns)

2.50
(20ns)

1.12
(9ns)

1.00
(8ns)

1.12
(9ns)

1.12
(9ns)

1.00
(8ns)

1.00
(8ns)

Order 4

1.58
(19ns)

2.25
(27ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

Order 5

1.53
(23ns)

2.20
(33ns)

1.00
(15ns)

1.00
(15ns)

1.07
(16ns)

1.07
(16ns)

1.07
(16ns)

1.07
(16ns)

Order 6

1.87
(28ns)

2.73
(41ns)

1.00
(15ns)

1.07
(16ns)

1.33
(20ns)

1.33
(20ns)

1.33
(20ns)

1.33
(20ns)

Order 7

1.74
(33ns)

2.58
(49ns)

1.00
(19ns)

1.00
(19ns)

1.26
(24ns)

1.26
(24ns)

1.32
(25ns)

1.26
(24ns)

Order 8

1.86
(39ns)

2.71
(57ns)

1.00
(21ns)

1.05
(22ns)

1.33
(28ns)

1.33
(28ns)

1.33
(28ns)

1.33
(28ns)

Order 9

1.92
(46ns)

2.71
(65ns)

1.00
(24ns)

1.00
(24ns)

1.33
(32ns)

1.33
(32ns)

1.33
(32ns)

1.33
(32ns)

Order 10

1.93
(54ns)

2.64
(74ns)

1.04
(29ns)

1.00
(28ns)

1.39
(39ns)

1.39
(39ns)

1.36
(38ns)

1.36
(38ns)

Order 11

1.76
(60ns)

2.41
(82ns)

1.03
(35ns)

1.00
(34ns)

1.26
(43ns)

1.26
(43ns)

1.24
(42ns)

1.26
(43ns)

Order 12

1.72
(67ns)

2.31
(90ns)

1.00
(39ns)

1.00
(39ns)

1.23
(48ns)

1.23
(48ns)

1.21
(47ns)

1.21
(47ns)

Order 13

1.78
(73ns)

2.44
(100ns)

1.00
(41ns)

1.00
(41ns)

1.17
(48ns)

1.20
(49ns)

1.17
(48ns)

1.17
(48ns)

Order 14

1.93
(79ns)

2.68
(110ns)

1.00
(41ns)

1.00
(41ns)

1.17
(48ns)

1.17
(48ns)

1.22
(50ns)

1.17
(48ns)

Order 15

2.12
(87ns)

2.93
(120ns)

1.02
(42ns)

1.00
(41ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

Order 16

2.34
(96ns)

3.17
(130ns)

1.00
(41ns)

1.00
(41ns)

1.17
(48ns)

1.17
(48ns)

1.22
(50ns)

1.20
(49ns)

Order 17

2.61
(107ns)

3.41
(140ns)

1.00
(41ns)

1.00
(41ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

Order 18

2.85
(117ns)

3.61
(148ns)

1.00
(41ns)

1.00
(41ns)

1.20
(49ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

Order 19

3.15
(129ns)

3.83
(157ns)

1.00
(41ns)

1.00
(41ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

Order 20

3.37
(138ns)

4.07
(167ns)

1.00
(41ns)

1.00
(41ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)

1.17
(48ns)


Table 27. Polynomial Method Comparison with Microsoft Visual C++ version 14.0 on Windows x64

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

1.00
(9ns)

Order 3

2.25
(27ns)

2.50
(30ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

1.00
(12ns)

Order 4

2.27
(34ns)

2.93
(44ns)

1.00
(15ns)

1.00
(15ns)

1.00
(15ns)

1.00
(15ns)

1.00
(15ns)

1.00
(15ns)

Order 5

1.35
(27ns)

2.00
(40ns)

1.00
(20ns)

1.00
(20ns)

1.00
(20ns)

1.00
(20ns)

1.00
(20ns)

1.00
(20ns)

Order 6

1.28
(32ns)

1.96
(49ns)

1.00
(25ns)

1.00
(25ns)

1.00
(25ns)

1.00
(25ns)

1.28
(32ns)

1.28
(32ns)

Order 7

1.39
(39ns)

2.11
(59ns)

1.07
(30ns)

1.07
(30ns)

1.00
(28ns)

1.00
(28ns)

1.14
(32ns)

1.11
(31ns)

Order 8

1.42
(47ns)

2.12
(70ns)

1.12
(37ns)

1.12
(37ns)

1.00
(33ns)

1.00
(33ns)

1.12
(37ns)

1.12
(37ns)

Order 9

1.43
(53ns)

2.00
(74ns)

1.19
(44ns)

1.19
(44ns)

1.00
(37ns)

1.00
(37ns)

1.11
(41ns)

1.14
(42ns)

Order 10

1.37
(59ns)

2.02
(87ns)

1.28
(55ns)

1.16
(50ns)

1.00
(43ns)

1.02
(44ns)

1.09
(47ns)

1.12
(48ns)

Order 11

1.46
(67ns)

2.24
(103ns)

1.26
(58ns)

1.28
(59ns)

1.00
(46ns)

1.00
(46ns)

1.15
(53ns)

1.22
(56ns)

Order 12

1.47
(81ns)

2.15
(118ns)

1.27
(70ns)

1.31
(72ns)

1.00
(55ns)

1.04
(57ns)

1.05
(58ns)

1.04
(57ns)

Order 13

1.61
(87ns)

2.37
(128ns)

1.37
(74ns)

1.33
(72ns)

1.00
(54ns)

1.00
(54ns)

1.07
(58ns)

1.09
(59ns)

Order 14

1.57
(94ns)

2.33
(140ns)

1.47
(88ns)

1.47
(88ns)

1.00
(60ns)

1.02
(61ns)

1.03
(62ns)

1.05
(63ns)

Order 15

1.47
(109ns)

2.08
(154ns)

1.32
(98ns)

1.34
(99ns)

1.00
(74ns)

1.00
(74ns)

1.03
(76ns)

1.00
(74ns)

Order 16

1.44
(118ns)

2.13
(175ns)

1.39
(114ns)

1.34
(110ns)

1.02
(84ns)

1.00
(82ns)

1.01
(83ns)

1.01
(83ns)

Order 17

1.55
(130ns)

2.05
(172ns)

1.54
(129ns)

1.56
(131ns)

1.00
(84ns)

1.02
(86ns)

1.04
(87ns)

1.07
(90ns)

Order 18

1.53
(145ns)

2.00
(190ns)

1.52
(144ns)

1.51
(143ns)

1.03
(98ns)

1.03
(98ns)

1.00
(95ns)

1.01
(96ns)

Order 19

1.55
(155ns)

2.12
(212ns)

1.54
(154ns)

1.54
(154ns)

1.00
(100ns)

1.00
(100ns)

1.01
(101ns)

1.06
(106ns)

Order 20

1.52
(166ns)

2.18
(238ns)

1.52
(166ns)

1.52
(166ns)

1.05
(114ns)

1.05
(114ns)

1.00
(109ns)

1.03
(112ns)


Table 28. Rational Method Comparison with Clang version 3.7.0 (trunk 236512) on linux

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

2.14
(79ns)

2.14
(79ns)

1.00
(37ns)

1.00
(37ns)

1.00
(37ns)

1.00
(37ns)

Order 3

1.95
(80ns)

1.95
(80ns)

1.95
(80ns)

1.95
(80ns)

1.00
(41ns)

1.00
(41ns)

1.00
(41ns)

1.02
(42ns)

Order 4

1.95
(80ns)

1.95
(80ns)

1.95
(80ns)

1.95
(80ns)

1.00
(41ns)

1.00
(41ns)

1.02
(42ns)

1.00
(41ns)

Order 5

1.00
(80ns)

1.15
(92ns)

1.02
(82ns)

1.11
(89ns)

1.48
(118ns)

1.51
(121ns)

1.49
(119ns)

1.52
(122ns)

Order 6

1.00
(82ns)

1.18
(97ns)

1.09
(89ns)

1.27
(104ns)

1.50
(123ns)

1.55
(127ns)

1.50
(123ns)

1.55
(127ns)

Order 7

1.00
(84ns)

1.30
(109ns)

1.20
(101ns)

1.58
(133ns)

1.57
(132ns)

1.58
(133ns)

1.55
(130ns)

1.57
(132ns)

Order 8

1.00
(96ns)

1.19
(114ns)

1.26
(121ns)

1.45
(139ns)

1.49
(143ns)

1.36
(131ns)

1.47
(141ns)

1.47
(141ns)

Order 9

1.00
(100ns)

1.44
(144ns)

1.44
(144ns)

1.83
(183ns)

1.33
(133ns)

1.39
(139ns)

1.32
(132ns)

1.34
(134ns)

Order 10

1.00
(109ns)

1.41
(154ns)

1.49
(162ns)

1.69
(184ns)

1.30
(142ns)

1.40
(153ns)

1.32
(144ns)

1.39
(152ns)

Order 11

1.00
(119ns)

1.45
(172ns)

1.50
(178ns)

1.94
(231ns)

1.25
(149ns)

1.41
(168ns)

1.26
(150ns)

1.43
(170ns)

Order 12

1.00
(128ns)

1.44
(184ns)

1.49
(191ns)

1.78
(228ns)

1.40
(179ns)

1.47
(188ns)

1.38
(176ns)

1.49
(191ns)

Order 13

1.00
(160ns)

1.32
(211ns)

1.24
(199ns)

1.72
(275ns)

1.18
(189ns)

1.46
(233ns)

1.20
(192ns)

1.27
(203ns)

Order 14

1.00
(173ns)

1.28
(222ns)

1.23
(213ns)

1.59
(275ns)

1.17
(203ns)

1.49
(257ns)

1.19
(206ns)

1.24
(214ns)

Order 15

1.00
(184ns)

1.32
(242ns)

1.26
(232ns)

1.77
(325ns)

1.15
(212ns)

1.45
(266ns)

1.17
(216ns)

1.23
(227ns)

Order 16

1.00
(192ns)

1.33
(255ns)

1.33
(256ns)

1.69
(324ns)

1.20
(231ns)

1.55
(298ns)

1.18
(226ns)

1.24
(239ns)

Order 17

1.00
(206ns)

1.39
(287ns)

1.36
(281ns)

1.80
(370ns)

1.17
(242ns)

1.50
(308ns)

1.16
(239ns)

1.23
(253ns)

Order 18

1.00
(214ns)

1.39
(298ns)

1.47
(315ns)

1.74
(373ns)

1.17
(251ns)

1.61
(345ns)

1.15
(246ns)

1.21
(260ns)

Order 19

1.00
(228ns)

1.39
(317ns)

1.45
(330ns)

1.83
(418ns)

1.16
(264ns)

1.52
(347ns)

1.14
(261ns)

1.21
(277ns)

Order 20

1.00
(241ns)

1.37
(330ns)

1.49
(359ns)

1.74
(420ns)

1.18
(285ns)

1.55
(374ns)

1.12
(271ns)

1.18
(285ns)


Table 29. Rational Method Comparison with GNU C++ version 4.9.2 on Windows x64

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.93
(77ns)

1.93
(77ns)

1.00
(40ns)

1.00
(40ns)

1.00
(40ns)

1.02
(41ns)

Order 3

1.95
(78ns)

1.93
(77ns)

1.95
(78ns)

1.93
(77ns)

1.00
(40ns)

1.00
(40ns)

1.00
(40ns)

1.00
(40ns)

Order 4

1.95
(78ns)

1.98
(79ns)

1.95
(78ns)

1.95
(78ns)

1.00
(40ns)

1.00
(40ns)

1.00
(40ns)

1.00
(40ns)

Order 5

1.04
(81ns)

1.10
(86ns)

1.00
(78ns)

1.00
(78ns)

1.47
(115ns)

1.49
(116ns)

1.47
(115ns)

1.47
(115ns)

Order 6

1.05
(86ns)

1.12
(92ns)

1.00
(82ns)

1.01
(83ns)

1.40
(115ns)

1.41
(116ns)

1.41
(116ns)

1.40
(115ns)

Order 7

1.09
(95ns)

1.28
(111ns)

1.00
(87ns)

1.00
(87ns)

1.39
(121ns)

1.39
(121ns)

1.39
(121ns)

1.40
(122ns)

Order 8

1.20
(109ns)

1.44
(131ns)

1.00
(91ns)

1.01
(92ns)

1.33
(121ns)

1.34
(122ns)

1.37
(125ns)

1.36
(124ns)

Order 9

1.20
(127ns)

1.37
(145ns)

1.00
(106ns)

1.00
(106ns)

1.20
(127ns)

1.20
(127ns)

1.21
(128ns)

1.21
(128ns)

Order 10

1.16
(144ns)

1.27
(157ns)

1.01
(125ns)

1.00
(124ns)

1.12
(139ns)

1.12
(139ns)

1.11
(138ns)

1.11
(138ns)

Order 11

1.18
(159ns)

1.25
(169ns)

1.00
(135ns)

1.00
(135ns)

1.04
(140ns)

1.03
(139ns)

1.03
(139ns)

1.04
(140ns)

Order 12

1.21
(176ns)

1.25
(183ns)

1.02
(149ns)

1.01
(148ns)

1.01
(147ns)

1.02
(149ns)

1.00
(146ns)

1.00
(146ns)

Order 13

1.24
(191ns)

1.31
(202ns)

1.09
(168ns)

1.09
(168ns)

1.00
(154ns)

1.01
(155ns)

1.00
(154ns)

1.00
(154ns)

Order 14

1.25
(205ns)

1.37
(224ns)

1.15
(189ns)

1.15
(189ns)

1.01
(166ns)

1.02
(167ns)

1.00
(164ns)

1.01
(165ns)

Order 15

1.25
(218ns)

1.47
(255ns)

1.20
(208ns)

1.19
(207ns)

1.01
(175ns)

1.01
(175ns)

1.01
(176ns)

1.00
(174ns)

Order 16

1.26
(234ns)

1.47
(273ns)

1.21
(225ns)

1.23
(228ns)

1.03
(192ns)

1.03
(191ns)

1.05
(195ns)

1.00
(186ns)

Order 17

1.27
(247ns)

1.49
(290ns)

1.28
(249ns)

1.28
(249ns)

1.00
(194ns)

1.00
(194ns)

1.00
(194ns)

1.00
(194ns)

Order 18

1.28
(263ns)

1.49
(307ns)

1.32
(272ns)

1.32
(271ns)

1.03
(213ns)

1.03
(213ns)

1.00
(206ns)

1.00
(206ns)

Order 19

1.33
(284ns)

1.52
(324ns)

1.38
(294ns)

1.37
(291ns)

1.01
(215ns)

1.00
(213ns)

1.01
(215ns)

1.01
(215ns)

Order 20

1.33
(299ns)

1.51
(339ns)

1.39
(312ns)

1.39
(312ns)

1.07
(240ns)

1.07
(240ns)

1.00
(225ns)

1.00
(224ns)


Table 30. Rational Method Comparison with GNU C++ version 5.1.0 on linux

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

2.15
(88ns)

2.07
(85ns)

1.07
(44ns)

1.05
(43ns)

1.00
(41ns)

1.00
(41ns)

Order 3

1.98
(81ns)

1.98
(81ns)

1.98
(81ns)

2.02
(83ns)

1.05
(43ns)

1.05
(43ns)

1.00
(41ns)

1.00
(41ns)

Order 4

1.95
(82ns)

1.98
(83ns)

1.98
(83ns)

1.98
(83ns)

1.05
(44ns)

1.05
(44ns)

1.00
(42ns)

1.00
(42ns)

Order 5

1.00
(82ns)

1.06
(87ns)

1.01
(83ns)

1.01
(83ns)

1.54
(126ns)

1.52
(125ns)

1.46
(120ns)

1.48
(121ns)

Order 6

1.03
(89ns)

1.14
(98ns)

1.01
(87ns)

1.00
(86ns)

1.42
(122ns)

1.43
(123ns)

1.40
(120ns)

1.42
(122ns)

Order 7

1.05
(98ns)

1.26
(117ns)

1.00
(93ns)

1.01
(94ns)

1.38
(128ns)

1.43
(133ns)

1.35
(126ns)

1.37
(127ns)

Order 8

1.16
(114ns)

1.41
(138ns)

1.00
(98ns)

1.00
(98ns)

1.34
(131ns)

1.34
(131ns)

1.33
(130ns)

1.33
(130ns)

Order 9

1.14
(131ns)

1.31
(151ns)

1.00
(115ns)

1.00
(115ns)

1.19
(137ns)

1.17
(135ns)

1.16
(133ns)

1.17
(134ns)

Order 10

1.16
(151ns)

1.26
(164ns)

1.00
(130ns)

1.01
(131ns)

1.16
(151ns)

1.12
(146ns)

1.17
(152ns)

1.17
(152ns)

Order 11

1.18
(167ns)

1.24
(176ns)

1.00
(142ns)

1.02
(145ns)

1.09
(155ns)

1.06
(151ns)

1.01
(144ns)

1.02
(145ns)

Order 12

1.23
(184ns)

1.28
(192ns)

1.11
(166ns)

1.59
(238ns)

1.06
(159ns)

1.06
(159ns)

1.01
(151ns)

1.00
(150ns)

Order 13

1.23
(200ns)

1.30
(211ns)

1.09
(176ns)

1.15
(187ns)

1.02
(165ns)

1.03
(167ns)

1.01
(164ns)

1.00
(162ns)

Order 14

1.28
(215ns)

1.45
(243ns)

1.55
(261ns)

1.24
(209ns)

1.08
(181ns)

1.08
(182ns)

1.03
(173ns)

1.00
(168ns)

Order 15

1.26
(226ns)

1.49
(269ns)

1.26
(227ns)

1.31
(235ns)

1.09
(196ns)

1.08
(195ns)

1.01
(181ns)

1.00
(180ns)

Order 16

1.25
(241ns)

1.49
(287ns)

1.23
(238ns)

1.28
(247ns)

1.09
(211ns)

1.09
(211ns)

1.02
(197ns)

1.00
(193ns)

Order 17

1.27
(259ns)

1.53
(312ns)

1.27
(260ns)

1.31
(267ns)

1.06
(216ns)

1.06
(216ns)

1.00
(204ns)

1.00
(205ns)

Order 18

1.27
(276ns)

1.47
(320ns)

1.28
(278ns)

1.26
(274ns)

1.07
(233ns)

1.10
(239ns)

1.00
(217ns)

1.00
(217ns)

Order 19

1.29
(294ns)

1.49
(339ns)

1.24
(283ns)

1.28
(291ns)

1.08
(247ns)

1.06
(241ns)

1.00
(228ns)

1.02
(232ns)

Order 20

1.35
(329ns)

1.75
(428ns)

1.24
(302ns)

1.21
(295ns)

1.07
(261ns)

1.11
(271ns)

1.00
(244ns)

1.01
(247ns)


Table 31. Rational Method Comparison with Intel C++ C++0x mode version 1500 on Windows x64

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.93
(77ns)

1.93
(77ns)

1.00
(40ns)

1.02
(41ns)

1.00
(40ns)

1.00
(40ns)

Order 3

1.95
(78ns)

1.93
(77ns)

1.95
(78ns)

1.95
(78ns)

1.00
(40ns)

1.00
(40ns)

1.00
(40ns)

1.00
(40ns)

Order 4

3.90
(78ns)

3.95
(79ns)

3.90
(78ns)

3.90
(78ns)

1.00
(20ns)

1.00
(20ns)

1.00
(20ns)

1.00
(20ns)

Order 5

1.01
(79ns)

1.06
(83ns)

1.00
(78ns)

1.00
(78ns)

1.49
(116ns)

1.49
(116ns)

1.47
(115ns)

1.49
(116ns)

Order 6

1.10
(87ns)

1.19
(94ns)

1.00
(79ns)

1.08
(85ns)

1.47
(116ns)

1.46
(115ns)

1.46
(115ns)

1.46
(115ns)

Order 7

1.11
(93ns)

1.30
(109ns)

1.04
(87ns)

1.00
(84ns)

1.38
(116ns)

1.39
(117ns)

1.37
(115ns)

1.38
(116ns)

Order 8

1.19
(106ns)

1.39
(124ns)

1.00
(89ns)

1.00
(89ns)

1.35
(120ns)

1.36
(121ns)

1.66
(148ns)

1.74
(155ns)

Order 9

1.26
(123ns)

1.44
(141ns)

1.00
(98ns)

1.00
(98ns)

1.30
(127ns)

1.29
(126ns)

1.62
(159ns)

1.71
(168ns)

Order 10

1.23
(135ns)

1.44
(158ns)

1.01
(111ns)

1.00
(110ns)

1.20
(132ns)

1.18
(130ns)

1.69
(186ns)

1.75
(192ns)

Order 11

1.28
(158ns)

1.37
(168ns)

1.02
(125ns)

1.00
(123ns)

1.14
(140ns)

1.11
(136ns)

1.63
(200ns)

1.67
(205ns)

Order 12

1.25
(173ns)

1.34
(185ns)

1.01
(139ns)

1.00
(138ns)

1.05
(145ns)

1.04
(144ns)

1.59
(219ns)

1.60
(221ns)

Order 13

1.67
(189ns)

1.75
(198ns)

1.33
(150ns)

1.35
(152ns)

1.00
(113ns)

1.00
(113ns)

2.07
(234ns)

2.06
(233ns)

Order 14

1.71
(200ns)

1.84
(215ns)

1.00
(117ns)

2.58
(302ns)

1.03
(120ns)

2.55
(298ns)

2.23
(261ns)

2.26
(265ns)

Order 15

1.78
(217ns)

1.88
(229ns)

2.56
(312ns)

2.77
(338ns)

1.00
(122ns)

2.57
(314ns)

2.22
(271ns)

2.28
(278ns)

Order 16

1.00
(228ns)

1.09
(248ns)

1.44
(329ns)

1.75
(398ns)

1.39
(317ns)

1.47
(335ns)

1.32
(302ns)

1.37
(312ns)

Order 17

1.00
(238ns)

1.13
(270ns)

1.49
(355ns)

1.99
(474ns)

1.39
(331ns)

1.46
(348ns)

1.33
(317ns)

1.36
(324ns)

Order 18

1.00
(253ns)

1.17
(297ns)

1.49
(377ns)

2.01
(508ns)

1.38
(348ns)

1.49
(377ns)

1.37
(347ns)

1.40
(355ns)

Order 19

1.00
(276ns)

1.15
(317ns)

1.49
(410ns)

1.93
(534ns)

1.27
(350ns)

1.40
(387ns)

1.30
(359ns)

1.31
(361ns)

Order 20

1.00
(293ns)

1.14
(333ns)

1.53
(448ns)

1.94
(567ns)

1.34
(393ns)

1.43
(419ns)

1.32
(388ns)

1.34
(393ns)


Table 32. Rational Method Comparison with Intel C++ C++0x mode version 1500 on linux

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.93
(79ns)

1.93
(79ns)

1.02
(42ns)

1.02
(42ns)

1.00
(41ns)

1.00
(41ns)

Order 3

1.37
(56ns)

1.56
(64ns)

1.95
(80ns)

1.93
(79ns)

1.02
(42ns)

1.02
(42ns)

1.00
(41ns)

1.00
(41ns)

Order 4

3.70
(74ns)

4.30
(86ns)

4.05
(81ns)

4.00
(80ns)

1.05
(21ns)

1.05
(21ns)

1.00
(20ns)

1.00
(20ns)

Order 5

1.15
(92ns)

1.32
(106ns)

1.01
(81ns)

1.00
(80ns)

1.50
(120ns)

1.51
(121ns)

1.48
(118ns)

1.49
(119ns)

Order 6

1.35
(111ns)

1.54
(126ns)

1.00
(82ns)

1.00
(82ns)

1.45
(119ns)

1.43
(117ns)

1.46
(120ns)

1.44
(118ns)

Order 7

1.44
(124ns)

1.73
(149ns)

1.01
(87ns)

1.00
(86ns)

1.38
(119ns)

1.37
(118ns)

1.38
(119ns)

1.37
(118ns)

Order 8

1.58
(144ns)

1.91
(174ns)

1.00
(91ns)

1.00
(91ns)

1.36
(124ns)

1.36
(124ns)

1.36
(124ns)

1.36
(124ns)

Order 9

1.67
(165ns)

1.99
(197ns)

1.01
(100ns)

1.00
(99ns)

1.29
(128ns)

1.30
(129ns)

1.30
(129ns)

1.30
(129ns)

Order 10

1.63
(183ns)

1.93
(216ns)

1.02
(114ns)

1.00
(112ns)

1.21
(135ns)

1.21
(135ns)

1.22
(137ns)

1.21
(135ns)

Order 11

1.60
(202ns)

1.87
(236ns)

1.06
(133ns)

1.00
(126ns)

1.13
(143ns)

1.13
(142ns)

1.15
(145ns)

1.47
(185ns)

Order 12

1.55
(220ns)

1.80
(255ns)

1.00
(142ns)

1.00
(142ns)

1.04
(148ns)

1.04
(148ns)

1.08
(153ns)

1.44
(204ns)

Order 13

2.10
(241ns)

2.42
(278ns)

1.33
(153ns)

1.34
(154ns)

1.00
(115ns)

1.02
(117ns)

1.39
(160ns)

1.90
(218ns)

Order 14

2.17
(256ns)

2.53
(299ns)

1.00
(118ns)

1.00
(118ns)

1.04
(123ns)

1.05
(124ns)

1.43
(169ns)

2.03
(239ns)

Order 15

2.19
(272ns)

2.55
(316ns)

1.01
(125ns)

1.00
(124ns)

1.02
(126ns)

1.01
(125ns)

1.35
(168ns)

1.97
(244ns)

Order 16

2.27
(290ns)

2.62
(335ns)

1.00
(128ns)

1.01
(129ns)

1.02
(131ns)

1.02
(131ns)

1.38
(177ns)

2.05
(262ns)

Order 17

2.39
(313ns)

2.76
(362ns)

1.00
(131ns)

1.00
(131ns)

1.01
(132ns)

1.03
(135ns)

1.35
(177ns)

2.04
(267ns)

Order 18

2.46
(332ns)

2.84
(384ns)

1.01
(137ns)

1.00
(135ns)

1.01
(137ns)

1.01
(137ns)

1.39
(188ns)

2.08
(281ns)

Order 19

2.51
(347ns)

2.90
(400ns)

1.03
(142ns)

1.01
(140ns)

1.00
(138ns)

1.00
(138ns)

1.36
(187ns)

2.09
(289ns)

Order 20

2.52
(361ns)

2.92
(418ns)

1.05
(150ns)

1.05
(150ns)

1.00
(143ns)

1.00
(143ns)

1.35
(193ns)

2.13
(304ns)


Table 33. Rational Method Comparison with Microsoft Visual C++ version 14.0 on Windows x64

Function

Method 0
(Double Coefficients)

Method 0
(Integer Coefficients)

Method 1
(Double Coefficients)

Method 1
(Integer Coefficients)

Method 2
(Double Coefficients)

Method 2
(Integer Coefficients)

Method 3
(Double Coefficients)

Method 3
(Integer Coefficients)

Order 2

-

-

1.90
(78ns)

1.95
(80ns)

1.00
(41ns)

1.00
(41ns)

1.07
(44ns)

1.07
(44ns)

Order 3

1.98
(81ns)

1.98
(81ns)

1.93
(79ns)

1.95
(80ns)

1.02
(42ns)

1.00
(41ns)

1.07
(44ns)

1.07
(44ns)

Order 4

1.90
(80ns)

1.98
(83ns)

1.93
(81ns)

1.93
(81ns)

1.02
(43ns)

1.00
(42ns)

1.07
(45ns)

1.07
(45ns)

Order 5

1.02
(83ns)

1.06
(86ns)

1.00
(81ns)

1.00
(81ns)

1.47
(119ns)

1.47
(119ns)

1.58
(128ns)

1.60
(130ns)

Order 6

1.05
(88ns)

1.18
(99ns)

1.00
(84ns)

1.00
(84ns)

1.45
(122ns)

1.45
(122ns)

1.57
(132ns)

1.57
(132ns)

Order 7

1.14
(99ns)

1.36
(118ns)

1.00
(87ns)

1.01
(88ns)

1.44
(125ns)

1.44
(125ns)

1.61
(140ns)

1.54
(134ns)

Order 8

1.10
(106ns)

1.43
(137ns)

1.00
(96ns)

1.00
(96ns)

1.30
(125ns)

1.29
(124ns)

1.53
(147ns)

1.57
(151ns)

Order 9

1.07
(121ns)

1.30
(147ns)

1.00
(113ns)

1.04
(117ns)

1.13
(128ns)

1.16
(131ns)

1.41
(159ns)

1.40
(158ns)

Order 10

1.02
(134ns)

1.23
(161ns)

1.00
(131ns)

1.00
(131ns)

1.08
(141ns)

1.08
(142ns)

1.33
(174ns)

1.34
(175ns)

Order 11

1.11
(158ns)

1.23
(175ns)

1.02
(145ns)

1.02
(145ns)

1.00
(142ns)

1.01
(143ns)

1.30
(184ns)

1.63
(231ns)

Order 12

1.16
(178ns)

1.24
(189ns)

1.05
(160ns)

1.04
(159ns)

1.00
(153ns)

1.01
(154ns)

1.39
(213ns)

1.63
(249ns)

Order 13

1.17
(196ns)

1.21
(202ns)

1.08
(180ns)

1.07
(179ns)

1.00
(167ns)

1.02
(170ns)

1.28
(214ns)

1.66
(278ns)

Order 14

1.19
(213ns)

1.31
(234ns)

1.16
(207ns)

1.15
(206ns)

1.01
(180ns)

1.00
(179ns)

1.64
(293ns)

1.70
(305ns)

Order 15

1.16
(223ns)

1.34
(257ns)

1.16
(223ns)

1.16
(223ns)

1.01
(194ns)

1.00
(192ns)

1.60
(307ns)

1.67
(321ns)

Order 16

1.16
(237ns)

1.40
(286ns)

1.16
(236ns)

1.15
(235ns)

1.00
(204ns)

1.20
(244ns)

1.65
(336ns)

1.75
(357ns)

Order 17

1.18
(251ns)

1.43
(303ns)

1.17
(247ns)

1.32
(280ns)

1.00
(212ns)

1.80
(381ns)

1.64
(348ns)

1.75
(370ns)

Order 18

1.02
(265ns)

1.23
(320ns)

1.00
(261ns)

1.15
(301ns)

1.10
(288ns)

1.21
(315ns)

1.48
(386ns)

1.56
(406ns)

Order 19

1.04
(285ns)

1.22
(336ns)

1.00
(276ns)

1.17
(322ns)

1.00
(275ns)

1.28
(353ns)

1.50
(413ns)

1.53
(422ns)

Order 20

1.03
(303ns)

1.19
(350ns)

1.00
(294ns)

1.17
(345ns)

1.15
(337ns)

1.67
(491ns)

1.45
(426ns)

1.45
(426ns)


Last revised: August 21, 2015 at 12:52:51 GMT