3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Comparisons to Other Open Source Libraries</title>
5 <link rel="stylesheet" href="../math.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../index.html" title="Math Toolkit 2.11.0">
8 <link rel="up" href="../perf.html" title="Chapter 21. Performance">
9 <link rel="prev" href="comp_compilers.html" title="Comparing Different Compilers">
10 <link rel="next" href="perf_test_app.html" title="The Performance Test Applications">
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
22 <div class="spirit-nav">
23 <a accesskey="p" href="comp_compilers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
27 <a name="math_toolkit.comparisons"></a><a class="link" href="comparisons.html" title="Comparisons to Other Open Source Libraries">Comparisons to Other Open Source
29 </h2></div></div></div>
31 We've run our performance tests both for our own code, and against other open
32 source implementations of the same functions. The results are presented below
33 to give you a rough idea of how they all compare. In order to give a more-or-less
34 level playing field our test data was screened against all the libraries being
35 tested, and any unsupported domains removed, likewise for any test cases that
36 gave large errors or unexpected non-finite values.
38 <div class="caution"><table border="0" summary="Caution">
40 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../doc/src/images/caution.png"></td>
41 <th align="left">Caution</th>
43 <tr><td align="left" valign="top"><p>
44 You should exercise extreme caution when interpreting these results, relative
45 performance may vary by platform, by compiler options settings, the tests
46 use data that gives good code coverage of <span class="emphasis"><em>our</em></span> code,
47 but which may skew the results towards the corner cases. Finally, remember
48 that different libraries make different choices with regard to performance
49 verses numerical stability.
53 The first results compare standard library functions to Boost equivalents with
57 <a name="math_toolkit.comparisons.table_Library_Comparison_with_Microsoft_Visual_C_version_14_0_on_Windows_x64"></a><p class="title"><b>Table 21.7. Library Comparison with Microsoft Visual C++ version 14.0 on Windows
59 <div class="table-contents"><table class="table" summary="Library Comparison with Microsoft Visual C++ version 14.0 on Windows
87 cbrt<br> (85/85 tests selected)
92 <span class="green">1.00<br> (45ns)</span>
97 <span class="blue">1.44<br> (65ns)</span>
104 cyl_bessel_j (integer order)<br> (267/268 tests selected)
109 <span class="green">1.00<br> (103ns)</span>
114 <span class="red">2.11<br> (217ns)</span>
121 cyl_neumann (integer order)<br> (428/428 tests selected)
126 <span class="blue">1.57<br> (225ns)</span>
131 <span class="green">1.00<br> (143ns)</span>
138 erf<br> (950/950 tests selected)
143 <span class="green">1.10<br> (23ns)</span>
148 <span class="green">1.00<br> (21ns)</span>
155 erfc<br> (950/950 tests selected)
160 <span class="green">1.00<br> (22ns)</span>
165 <span class="red">3.36<br> (74ns)</span>
172 expm1<br> (80/80 tests selected)
177 <span class="green">1.00<br> (10ns)</span>
182 <span class="green">1.10<br> (11ns)</span>
189 lgamma<br> (400/400 tests selected)
194 <span class="green">1.00<br> (73ns)</span>
199 <span class="blue">1.74<br> (127ns)</span>
206 log1p<br> (80/80 tests selected)
211 <span class="green">1.08<br> (14ns)</span>
216 <span class="green">1.00<br> (13ns)</span>
223 tgamma<br> (400/400 tests selected)
228 <span class="green">1.00<br> (77ns)</span>
233 <span class="red">12.12<br> (933ns)</span>
240 <br class="table-break"><p>
241 On Linux with GCC, we can also compare to the TR1 functions, and to GSL and
245 <a name="math_toolkit.comparisons.table_Library_Comparison_with_GNU_C_version_5_3_0_on_linux"></a><p class="title"><b>Table 21.8. Library Comparison with GNU C++ version 5.3.0 on linux</b></p>
246 <div class="table-contents"><table class="table" summary="Library Comparison with GNU C++ version 5.3.0 on linux">
269 boost 1.61<br> promote_double<false>
297 assoc_laguerre<br> (2240/2240 tests selected)
302 <span class="blue">1.36<br> (263ns)</span>
307 <span class="green">1.00<br> (194ns)</span>
312 <span class="green">1.20<br> (232ns)</span>
317 <span class="green">1.12<br> (218ns)</span>
322 <span class="grey">-</span>
327 <span class="grey">-</span>
334 assoc_legendre<br> (205/400 tests selected)
339 <span class="red">4.16<br> (258ns)</span>
344 <span class="blue">1.63<br> (101ns)</span>
349 <span class="green">1.00<br> (62ns)</span>
354 <span class="red">2.53<br> (157ns)</span>
359 <span class="grey">-</span>
364 <span class="grey">-</span>
371 beta (incomplete)<br> (2682/3210 tests selected)
376 <span class="red">3.12<br> (1796ns)</span>
381 <span class="green">1.00<br> (575ns)</span>
386 <span class="grey">-</span>
391 <span class="blue">1.36<br> (780ns)</span>
396 <span class="grey">-</span>
401 <span class="grey">-</span>
408 beta<br> (2203/2204 tests selected)
413 <span class="red">4.74<br> (734ns)</span>
418 <span class="green">1.01<br> (156ns)</span>
423 <span class="green">1.00<br> (155ns)</span>
428 <span class="red">2.57<br> (398ns)</span>
433 <span class="blue">1.65<br> (255ns)</span>
438 <span class="grey">-</span>
445 cbrt<br> (85/85 tests selected)
450 <span class="red">2.53<br> (43ns)</span>
455 <span class="green">1.00<br> (17ns)</span>
460 <span class="blue">1.24<br> (21ns)</span>
465 <span class="grey">-</span>
470 <span class="grey">-</span>
475 <span class="blue">1.24<br> (21ns)</span>
482 cyl_bessel_i (integer order)<br> (494/526 tests selected)
487 <span class="red">3.66<br> (893ns)</span>
492 <span class="green">1.08<br> (264ns)</span>
497 <span class="green">1.00<br> (244ns)</span>
502 <span class="blue">1.98<br> (482ns)</span>
507 <span class="red">4.69<br> (1145ns)</span>
516 cyl_bessel_i<br> (177/240 tests selected)
521 <span class="red">6.78<br> (1410ns)</span>
526 <span class="blue">1.95<br> (406ns)</span>
531 <span class="green">1.00<br> (208ns)</span>
536 <span class="red">4.47<br> (929ns)</span>
541 <span class="red">8.16<br> (1698ns)</span>
546 <span class="grey">-</span>
553 cyl_bessel_j (integer order)<br> (250/268 tests selected)
558 <span class="red">2.59<br> (275ns)</span>
563 <span class="green">1.00<br> (106ns)</span>
568 <span class="red">2.50<br> (265ns)</span>
573 <span class="red">2.52<br> (267ns)</span>
578 <span class="red">4.22<br> (447ns)</span>
583 <span class="blue">1.94<br> (206ns)</span>
590 cyl_bessel_j<br> (423/451 tests selected)
595 <span class="red">2.83<br> (1071ns)</span>
600 <span class="green">1.05<br> (398ns)</span>
605 <span class="green">1.00<br> (379ns)</span>
610 <span class="red">2.28<br> (865ns)</span>
615 <span class="blue">1.20<br> (456ns)</span>
620 <span class="grey">-</span>
627 cyl_bessel_k (integer order)<br> (505/508 tests selected)
632 <span class="red">13.91<br> (3673ns)</span>
637 <span class="blue">1.37<br> (361ns)</span>
642 <span class="red">10.34<br> (2729ns)</span>
647 <span class="green">1.00<br> (264ns)</span>
652 <span class="blue">1.34<br> (355ns)</span>
657 <span class="grey">-</span>
664 cyl_bessel_k<br> (96/279 tests selected)
669 <span class="red">6.86<br> (4589ns)</span>
674 <span class="green">1.00<br> (669ns)</span>
679 <span class="blue">1.20<br> (803ns)</span>
684 <span class="blue">1.31<br> (877ns)</span>
689 <span class="blue">1.27<br> (851ns)</span>
694 <span class="grey">-</span>
701 cyl_neumann (integer order)<br> (423/428 tests selected)
706 <span class="red">2.20<br> (484ns)</span>
711 <span class="green">1.00<br> (220ns)</span>
716 <span class="red">3.26<br> (718ns)</span>
721 <span class="red">2.42<br> (533ns)</span>
726 <span class="red">4.95<br> (1089ns)</span>
731 <span class="blue">1.78<br> (392ns)</span>
738 cyl_neumann<br> (400/450 tests selected)
743 <span class="red">2.48<br> (1478ns)</span>
748 <span class="green">1.00<br> (597ns)</span>
753 <span class="blue">1.26<br> (754ns)</span>
758 <span class="red">2.42<br> (1444ns)</span>
763 <span class="green">1.07<br> (637ns)</span>
768 <span class="grey">-</span>
775 digamma<br> (1019/1019 tests selected)
780 <span class="blue">1.92<br> (75ns)</span>
785 <span class="green">1.00<br> (39ns)</span>
790 <span class="grey">-</span>
795 <span class="red">2.69<br> (105ns)</span>
800 <span class="red">4.31<br> (168ns)</span>
805 <span class="grey">-</span>
812 ellint_1 (complete)<br> (109/109 tests selected)
817 <span class="blue">1.86<br> (52ns)</span>
822 <span class="green">1.00<br> (28ns)</span>
827 <span class="red">8.89<br> (249ns)</span>
832 <span class="red">10.54<br> (295ns)</span>
837 <span class="grey">-</span>
846 ellint_1<br> (627/629 tests selected)
851 <span class="blue">1.94<br> (358ns)</span>
856 <span class="green">1.00<br> (185ns)</span>
861 <span class="red">2.31<br> (428ns)</span>
866 <span class="red">2.51<br> (464ns)</span>
871 <span class="grey">-</span>
876 <span class="grey">-</span>
883 ellint_2 (complete)<br> (109/110 tests selected)
888 <span class="blue">1.71<br> (60ns)</span>
893 <span class="green">1.00<br> (35ns)</span>
898 <span class="red">15.23<br> (533ns)</span>
903 <span class="red">17.31<br> (606ns)</span>
908 <span class="grey">-</span>
913 <span class="grey">-</span>
920 ellint_2<br> (527/530 tests selected)
925 <span class="red">2.32<br> (805ns)</span>
930 <span class="green">1.00<br> (347ns)</span>
935 <span class="blue">1.90<br> (658ns)</span>
940 <span class="red">2.17<br> (754ns)</span>
945 <span class="grey">-</span>
950 <span class="grey">-</span>
957 ellint_3 (complete)<br> (500/500 tests selected)
962 <span class="red">2.23<br> (1172ns)</span>
967 <span class="green">1.00<br> (525ns)</span>
972 <span class="blue">1.66<br> (873ns)</span>
977 <span class="blue">1.98<br> (1037ns)</span>
988 ellint_3<br> (831/845 tests selected)
993 <span class="red">2.75<br> (2154ns)</span>
998 <span class="green">1.00<br> (783ns)</span>
1003 <span class="blue">1.59<br> (1243ns)</span>
1008 <span class="blue">1.77<br> (1383ns)</span>
1013 <span class="grey">-</span>
1018 <span class="grey">-</span>
1025 ellint_rc<br> (201/201 tests selected)
1030 <span class="blue">1.57<br> (77ns)</span>
1035 <span class="green">1.00<br> (49ns)</span>
1040 <span class="grey">-</span>
1045 <span class="red">4.41<br> (216ns)</span>
1050 <span class="grey">-</span>
1055 <span class="grey">-</span>
1062 ellint_rd<br> (7588/7588 tests selected)
1067 <span class="red">2.23<br> (520ns)</span>
1072 <span class="green">1.00<br> (233ns)</span>
1077 <span class="grey">-</span>
1082 <span class="blue">1.64<br> (381ns)</span>
1087 <span class="grey">-</span>
1092 <span class="grey">-</span>
1099 ellint_rf<br> (7788/7788 tests selected)
1104 <span class="blue">1.51<br> (95ns)</span>
1109 <span class="green">1.00<br> (63ns)</span>
1114 <span class="grey">-</span>
1119 <span class="red">5.54<br> (349ns)</span>
1124 <span class="grey">-</span>
1129 <span class="grey">-</span>
1136 ellint_rj<br> (7642/8032 tests selected)
1141 <span class="red">2.33<br> (481ns)</span>
1146 <span class="green">1.00<br> (206ns)</span>
1151 <span class="grey">-</span>
1156 <span class="red">11.31<br> (2329ns)</span>
1161 <span class="grey">-</span>
1166 <span class="grey">-</span>
1173 erf<br> (950/950 tests selected)
1178 <span class="green">1.00<br> (15ns)</span>
1183 <span class="grey">-</span>
1188 <span class="green">1.20<br> (18ns)</span>
1193 <span class="red">10.27<br> (154ns)</span>
1198 <span class="grey">-</span>
1203 <span class="green">1.20<br> (18ns)</span>
1210 erfc<br> (950/950 tests selected)
1215 <span class="red">2.68<br> (59ns)</span>
1220 <span class="green">1.00<br> (22ns)</span>
1225 <span class="green">1.18<br> (26ns)</span>
1230 <span class="red">3.50<br> (77ns)</span>
1235 <span class="grey">-</span>
1240 <span class="green">1.14<br> (25ns)</span>
1247 expint (En)<br> (1059/1059 tests selected)
1252 <span class="blue">1.86<br> (273ns)</span>
1257 <span class="green">1.00<br> (147ns)</span>
1262 <span class="grey">-</span>
1267 <span class="red">4.87<br> (716ns)</span>
1272 <span class="grey">-</span>
1277 <span class="grey">-</span>
1284 expint<br> (436/436 tests selected)
1289 <span class="red">2.47<br> (94ns)</span>
1294 <span class="green">1.00<br> (38ns)</span>
1299 <span class="red">5.34<br> (203ns)</span>
1304 <span class="red">3.76<br> (143ns)</span>
1309 <span class="grey">-</span>
1314 <span class="grey">-</span>
1321 expm1<br> (80/80 tests selected)
1326 <span class="green">1.00<br> (10ns)</span>
1331 <span class="green">1.10<br> (11ns)</span>
1336 <span class="green">1.00<br> (10ns)</span>
1341 <span class="grey">-</span>
1346 <span class="grey">-</span>
1351 <span class="green">1.00<br> (10ns)</span>
1358 gamma_p<br> (1379/1379 tests selected)
1363 <span class="red">2.42<br> (492ns)</span>
1368 <span class="green">1.00<br> (203ns)</span>
1373 <span class="grey">-</span>
1378 <span class="red">4.77<br> (968ns)</span>
1383 <span class="blue">1.61<br> (326ns)</span>
1388 <span class="grey">-</span>
1395 gamma_p_inv<br> (559/559 tests selected)
1400 <span class="red">2.24<br> (1577ns)</span>
1405 <span class="green">1.00<br> (704ns)</span>
1410 <span class="grey">-</span>
1415 <span class="grey">-</span>
1420 <span class="red">2.22<br> (1560ns)</span>
1425 <span class="grey">-</span>
1432 gamma_q<br> (1371/1379 tests selected)
1437 <span class="red">2.53<br> (508ns)</span>
1442 <span class="green">1.00<br> (201ns)</span>
1447 <span class="grey">-</span>
1452 <span class="red">5.70<br> (1146ns)</span>
1457 <span class="blue">1.78<br> (358ns)</span>
1462 <span class="grey">-</span>
1469 gamma_q_inv<br> (78/559 tests selected)
1474 <span class="red">2.45<br> (1841ns)</span>
1479 <span class="green">1.00<br> (751ns)</span>
1484 <span class="grey">-</span>
1489 <span class="grey">-</span>
1494 <span class="green">1.09<br> (822ns)</span>
1499 <span class="grey">-</span>
1506 ibeta<br> (3210/3210 tests selected)
1511 <span class="red">3.47<br> (1715ns)</span>
1516 <span class="blue">1.28<br> (634ns)</span>
1521 <span class="grey">-</span>
1526 <span class="grey">-</span>
1531 <span class="green">1.00<br> (494ns)</span>
1536 <span class="grey">-</span>
1543 ibeta_inv<br> (952/1210 tests selected)
1548 <span class="red">2.58<br> (5742ns)</span>
1553 <span class="green">1.00<br> (2224ns)</span>
1558 <span class="grey">-</span>
1563 <span class="grey">-</span>
1568 <span class="red">26.72<br> (59415ns)</span>
1573 <span class="grey">-</span>
1580 ibetac<br> (3210/3210 tests selected)
1585 <span class="red">3.51<br> (1736ns)</span>
1590 <span class="blue">1.32<br> (653ns)</span>
1595 <span class="grey">-</span>
1600 <span class="grey">-</span>
1605 <span class="green">1.00<br> (495ns)</span>
1610 <span class="grey">-</span>
1617 ibetac_inv<br> (945/1210 tests selected)
1622 <span class="red">2.44<br> (5451ns)</span>
1627 <span class="green">1.00<br> (2237ns)</span>
1632 <span class="grey">-</span>
1637 <span class="grey">-</span>
1642 <span class="red">19.20<br> (42953ns)</span>
1647 <span class="grey">-</span>
1654 jacobi_cn<br> (2368/2757 tests selected)
1659 <span class="red">5.01<br> (476ns)</span>
1664 <span class="blue">1.81<br> (172ns)</span>
1669 <span class="grey">-</span>
1674 <span class="green">1.00<br> (95ns)</span>
1679 <span class="grey">-</span>
1684 <span class="grey">-</span>
1691 jacobi_dn<br> (2368/2757 tests selected)
1696 <span class="red">5.12<br> (481ns)</span>
1701 <span class="blue">1.83<br> (172ns)</span>
1706 <span class="grey">-</span>
1711 <span class="green">1.00<br> (94ns)</span>
1716 <span class="grey">-</span>
1721 <span class="grey">-</span>
1728 jacobi_sn<br> (2368/2757 tests selected)
1733 <span class="red">5.23<br> (492ns)</span>
1738 <span class="blue">1.83<br> (172ns)</span>
1743 <span class="grey">-</span>
1748 <span class="green">1.00<br> (94ns)</span>
1753 <span class="grey">-</span>
1758 <span class="grey">-</span>
1765 laguerre<br> (280/280 tests selected)
1770 <span class="green">1.09<br> (139ns)</span>
1775 <span class="green">1.00<br> (128ns)</span>
1780 <span class="blue">1.25<br> (160ns)</span>
1785 <span class="green">1.18<br> (151ns)</span>
1790 <span class="grey">-</span>
1795 <span class="grey">-</span>
1802 legendre Q<br> (300/300 tests selected)
1807 <span class="green">1.18<br> (496ns)</span>
1812 <span class="green">1.00<br> (422ns)</span>
1817 <span class="grey">-</span>
1822 <span class="green">1.09<br> (461ns)</span>
1827 <span class="grey">-</span>
1832 <span class="grey">-</span>
1839 legendre<br> (300/300 tests selected)
1844 <span class="green">1.16<br> (399ns)</span>
1849 <span class="green">1.00<br> (345ns)</span>
1854 <span class="green">1.10<br> (380ns)</span>
1859 <span class="red">2.10<br> (726ns)</span>
1864 <span class="grey">-</span>
1869 <span class="grey">-</span>
1876 lgamma<br> (400/400 tests selected)
1881 <span class="red">5.35<br> (257ns)</span>
1886 <span class="red">2.44<br> (117ns)</span>
1891 <span class="green">1.00<br> (48ns)</span>
1896 <span class="red">5.92<br> (284ns)</span>
1901 <span class="blue">1.96<br> (94ns)</span>
1906 <span class="green">1.00<br> (48ns)</span>
1913 log1p<br> (80/80 tests selected)
1918 <span class="green">1.09<br> (12ns)</span>
1923 <span class="green">1.09<br> (12ns)</span>
1928 <span class="green">1.00<br> (11ns)</span>
1933 <span class="grey">-</span>
1938 <span class="grey">-</span>
1943 <span class="green">1.00<br> (11ns)</span>
1950 polygamma<br> (823/1535 tests selected)
1955 <span class="red">8.69<br> (2885ns)</span>
1960 <span class="red">2.21<br> (734ns)</span>
1965 <span class="grey">-</span>
1970 <span class="red">7.47<br> (2480ns)</span>
1975 <span class="green">1.00<br> (332ns)</span>
1980 <span class="grey">-</span>
1987 sph_bessel<br> (483/483 tests selected)
1992 <span class="blue">1.71<br> (1563ns)</span>
1997 <span class="green">1.00<br> (915ns)</span>
2002 <span class="red">2.11<br> (1935ns)</span>
2007 <span class="red">2.68<br> (2452ns)</span>
2012 <span class="grey">-</span>
2017 <span class="grey">-</span>
2024 sph_neumann<br> (284/284 tests selected)
2029 <span class="red">8.32<br> (3745ns)</span>
2034 <span class="red">3.88<br> (1744ns)</span>
2039 <span class="red">6.46<br> (2906ns)</span>
2044 <span class="green">1.00<br> (450ns)</span>
2049 <span class="grey">-</span>
2054 <span class="grey">-</span>
2061 tgamma (incomplete)<br> (1266/1379 tests selected)
2066 <span class="red">2.35<br> (744ns)</span>
2071 <span class="green">1.00<br> (316ns)</span>
2076 <span class="grey">-</span>
2081 <span class="red">2.93<br> (927ns)</span>
2086 <span class="grey">-</span>
2091 <span class="grey">-</span>
2098 tgamma<br> (400/400 tests selected)
2103 <span class="red">4.54<br> (354ns)</span>
2108 <span class="blue">1.23<br> (96ns)</span>
2113 <span class="red">2.05<br> (160ns)</span>
2118 <span class="blue">1.21<br> (94ns)</span>
2123 <span class="green">1.00<br> (78ns)</span>
2128 <span class="red">2.06<br> (161ns)</span>
2135 trigamma<br> (659/659 tests selected)
2140 <span class="blue">1.64<br> (36ns)</span>
2145 <span class="green">1.00<br> (22ns)</span>
2150 <span class="grey">-</span>
2155 <span class="red">39.41<br> (867ns)</span>
2160 <span class="red">12.09<br> (266ns)</span>
2165 <span class="grey">-</span>
2172 zeta<br> (448/448 tests selected)
2177 <span class="red">2.71<br> (509ns)</span>
2182 <span class="green">1.00<br> (188ns)</span>
2187 <span class="red">752.52<br> (141474ns)</span>
2192 <span class="blue">1.52<br> (285ns)</span>
2197 <span class="grey">-</span>
2202 <span class="grey">-</span>
2209 <br class="table-break"><p>
2210 And finally we can compare the statistical distributions to GSL, RMath and
2214 <a name="math_toolkit.comparisons.table_Distribution_performance_comparison_with_GNU_C_version_5_3_0_on_linux"></a><p class="title"><b>Table 21.9. Distribution performance comparison with GNU C++ version 5.3.0 on linux</b></p>
2215 <div class="table-contents"><table class="table" summary="Distribution performance comparison with GNU C++ version 5.3.0 on linux">
2237 Boost<br> promote_double<false>
2265 <span class="green">1.00<br> (33ns)</span>
2270 <span class="green">1.03<br> (34ns)</span>
2288 <span class="green">1.00<br> (9ns)</span>
2293 <span class="green">1.00<br> (9ns)</span>
2311 <span class="green">1.00<br> (21ns)</span>
2316 <span class="green">1.05<br> (22ns)</span>
2334 <span class="red">2.40<br> (452ns)</span>
2339 <span class="green">1.00<br> (188ns)</span>
2344 <span class="red">2.66<br> (500ns)</span>
2349 <span class="blue">1.64<br> (308ns)</span>
2354 <span class="red">2.39<br> (449ns)</span>
2366 <span class="red">2.52<br> (355ns)</span>
2371 <span class="green">1.00<br> (141ns)</span>
2376 <span class="grey">-</span>
2381 <span class="blue">1.71<br> (241ns)</span>
2395 <span class="red">2.40<br> (2863ns)</span>
2400 <span class="green">1.00<br> (1192ns)</span>
2405 <span class="red">13.48<br> (16063ns)</span>
2410 <span class="red">15.15<br> (18064ns)</span>
2415 <span class="red">7.43<br> (8852ns)</span>
2427 <span class="blue">1.72<br> (1133ns)</span>
2432 <span class="green">1.00<br> (657ns)</span>
2437 <span class="blue">1.40<br> (920ns)</span>
2442 <span class="green">1.17<br> (768ns)</span>
2447 <span class="blue">1.23<br> (807ns)</span>
2459 <span class="red">2.25<br> (376ns)</span>
2464 <span class="green">1.00<br> (167ns)</span>
2469 <span class="grey">-</span>
2474 <span class="green">1.07<br> (179ns)</span>
2488 <span class="red">2.47<br> (5047ns)</span>
2493 <span class="blue">1.48<br> (3017ns)</span>
2498 <span class="grey">-</span>
2503 <span class="green">1.00<br> (2040ns)</span>
2508 <span class="red">6.21<br> (12659ns)</span>
2520 <span class="blue">1.38<br> (29ns)</span>
2525 <span class="blue">1.33<br> (28ns)</span>
2530 <span class="green">1.00<br> (21ns)</span>
2535 <span class="blue">1.81<br> (38ns)</span>
2549 <span class="green">1.12<br> (9ns)</span>
2554 <span class="green">1.00<br> (8ns)</span>
2559 <span class="grey">-</span>
2564 <span class="blue">1.50<br> (12ns)</span>
2578 <span class="green">1.00<br> (43ns)</span>
2583 <span class="green">1.00<br> (43ns)</span>
2588 <span class="red">59.65<br> (2565ns)</span>
2593 <span class="red">59.21<br> (2546ns)</span>
2607 <span class="red">2.28<br> (545ns)</span>
2612 <span class="green">1.06<br> (253ns)</span>
2617 <span class="red">16.73<br> (3999ns)</span>
2622 <span class="blue">1.23<br> (293ns)</span>
2627 <span class="green">1.00<br> (239ns)</span>
2639 <span class="red">3.20<br> (362ns)</span>
2644 <span class="blue">1.24<br> (140ns)</span>
2649 <span class="grey">-</span>
2654 <span class="green">1.00<br> (113ns)</span>
2663 ChiSquared (quantile)
2668 <span class="blue">1.94<br> (1416ns)</span>
2673 <span class="green">1.00<br> (729ns)</span>
2678 <span class="red">51.52<br> (37557ns)</span>
2683 <span class="red">2.26<br> (1644ns)</span>
2688 <span class="red">7.71<br> (5623ns)</span>
2700 <span class="green">1.05<br> (20ns)</span>
2705 <span class="green">1.00<br> (19ns)</span>
2710 <span class="blue">1.21<br> (23ns)</span>
2715 <span class="blue">1.53<br> (29ns)</span>
2729 <span class="green">1.00<br> (26ns)</span>
2734 <span class="green">1.00<br> (26ns)</span>
2739 <span class="grey">-</span>
2744 <span class="blue">1.27<br> (33ns)</span>
2753 Exponential (quantile)
2758 <span class="blue">1.56<br> (25ns)</span>
2763 <span class="blue">1.44<br> (23ns)</span>
2768 <span class="green">1.00<br> (16ns)</span>
2773 <span class="blue">1.44<br> (23ns)</span>
2787 <span class="green">1.00<br> (48ns)</span>
2792 <span class="green">1.00<br> (48ns)</span>
2810 <span class="green">1.01<br> (68ns)</span>
2815 <span class="green">1.00<br> (67ns)</span>
2828 ExtremeValue (quantile)
2833 <span class="green">1.05<br> (68ns)</span>
2838 <span class="green">1.00<br> (65ns)</span>
2856 <span class="blue">1.77<br> (1028ns)</span>
2861 <span class="green">1.00<br> (580ns)</span>
2866 <span class="blue">1.59<br> (921ns)</span>
2871 <span class="green">1.13<br> (653ns)</span>
2876 <span class="green">1.10<br> (637ns)</span>
2888 <span class="red">2.39<br> (409ns)</span>
2893 <span class="green">1.00<br> (171ns)</span>
2898 <span class="grey">-</span>
2903 <span class="green">1.12<br> (192ns)</span>
2917 <span class="blue">1.86<br> (2899ns)</span>
2922 <span class="green">1.00<br> (1556ns)</span>
2927 <span class="red">9.67<br> (15050ns)</span>
2932 <span class="blue">1.98<br> (3083ns)</span>
2937 <span class="red">5.85<br> (9110ns)</span>
2949 <span class="red">2.48<br> (619ns)</span>
2954 <span class="green">1.01<br> (253ns)</span>
2959 <span class="red">6.12<br> (1529ns)</span>
2964 <span class="blue">1.40<br> (349ns)</span>
2969 <span class="green">1.00<br> (250ns)</span>
2981 <span class="red">2.91<br> (480ns)</span>
2986 <span class="green">1.02<br> (169ns)</span>
2991 <span class="grey">-</span>
2996 <span class="green">1.00<br> (165ns)</span>
3010 <span class="red">2.29<br> (1971ns)</span>
3015 <span class="green">1.00<br> (860ns)</span>
3020 <span class="red">13.93<br> (11979ns)</span>
3025 <span class="red">2.13<br> (1829ns)</span>
3030 <span class="green">1.03<br> (886ns)</span>
3042 <span class="green">1.00<br> (26ns)</span>
3047 <span class="green">1.08<br> (28ns)</span>
3052 <span class="green">1.00<br> (26ns)</span>
3057 <span class="red">2.08<br> (54ns)</span>
3071 <span class="green">1.00<br> (33ns)</span>
3076 <span class="green">1.06<br> (35ns)</span>
3081 <span class="grey">-</span>
3086 <span class="red">7.15<br> (236ns)</span>
3095 Geometric (quantile)
3100 <span class="green">1.00<br> (22ns)</span>
3105 <span class="green">1.00<br> (22ns)</span>
3110 <span class="grey">-</span>
3115 <span class="red">2.18<br> (48ns)</span>
3124 Hypergeometric (CDF)
3129 <span class="red">12.07<br> (11779ns)</span>
3134 <span class="red">6.58<br> (6423ns)</span>
3139 <span class="blue">1.61<br> (1568ns)</span>
3144 <span class="green">1.00<br> (976ns)</span>
3153 Hypergeometric (PDF)
3158 <span class="red">25.41<br> (11384ns)</span>
3163 <span class="red">13.51<br> (6054ns)</span>
3168 <span class="grey">-</span>
3173 <span class="green">1.00<br> (448ns)</span>
3182 Hypergeometric (quantile)
3187 <span class="green">1.00<br> (57820ns)</span>
3192 <span class="blue">1.54<br> (89233ns)</span>
3197 <span class="grey">-</span>
3202 <span class="blue">1.60<br> (92679ns)</span>
3211 InverseChiSquared (CDF)
3216 <span class="red">2.23<br> (546ns)</span>
3221 <span class="green">1.00<br> (245ns)</span>
3234 InverseChiSquared (PDF)
3239 <span class="red">2.28<br> (342ns)</span>
3244 <span class="green">1.00<br> (150ns)</span>
3257 InverseChiSquared (quantile)
3262 <span class="blue">1.86<br> (1378ns)</span>
3267 <span class="green">1.00<br> (740ns)</span>
3285 <span class="red">2.50<br> (610ns)</span>
3290 <span class="green">1.00<br> (244ns)</span>
3308 <span class="red">2.76<br> (477ns)</span>
3313 <span class="green">1.00<br> (173ns)</span>
3326 InverseGamma (quantile)
3331 <span class="red">2.23<br> (1870ns)</span>
3336 <span class="green">1.00<br> (838ns)</span>
3349 InverseGaussian (CDF)
3354 <span class="green">1.00<br> (108ns)</span>
3359 <span class="green">1.00<br> (108ns)</span>
3372 InverseGaussian (PDF)
3377 <span class="green">1.00<br> (19ns)</span>
3382 <span class="green">1.00<br> (19ns)</span>
3395 InverseGaussian (quantile)
3400 <span class="green">1.01<br> (2105ns)</span>
3405 <span class="green">1.00<br> (2074ns)</span>
3423 <span class="blue">1.35<br> (27ns)</span>
3428 <span class="blue">1.35<br> (27ns)</span>
3433 <span class="green">1.00<br> (20ns)</span>
3449 <span class="green">1.00<br> (28ns)</span>
3454 <span class="green">1.00<br> (28ns)</span>
3472 <span class="green">1.14<br> (32ns)</span>
3477 <span class="green">1.18<br> (33ns)</span>
3482 <span class="green">1.00<br> (28ns)</span>
3498 <span class="blue">1.67<br> (115ns)</span>
3503 <span class="green">1.00<br> (69ns)</span>
3508 <span class="green">1.13<br> (78ns)</span>
3513 <span class="blue">1.46<br> (101ns)</span>
3527 <span class="green">1.00<br> (66ns)</span>
3532 <span class="green">1.02<br> (67ns)</span>
3537 <span class="grey">-</span>
3542 <span class="green">1.08<br> (71ns)</span>
3551 LogNormal (quantile)
3556 <span class="blue">1.45<br> (103ns)</span>
3561 <span class="blue">1.32<br> (94ns)</span>
3566 <span class="green">1.00<br> (71ns)</span>
3571 <span class="blue">1.32<br> (94ns)</span>
3585 <span class="green">1.00<br> (28ns)</span>
3590 <span class="green">1.04<br> (29ns)</span>
3595 <span class="green">1.04<br> (29ns)</span>
3600 <span class="blue">1.25<br> (35ns)</span>
3614 <span class="green">1.00<br> (31ns)</span>
3619 <span class="green">1.03<br> (32ns)</span>
3624 <span class="grey">-</span>
3629 <span class="green">1.03<br> (32ns)</span>
3643 <span class="green">1.09<br> (36ns)</span>
3648 <span class="green">1.12<br> (37ns)</span>
3653 <span class="green">1.00<br> (33ns)</span>
3658 <span class="blue">1.27<br> (42ns)</span>
3667 NegativeBinomial (CDF)
3672 <span class="red">2.08<br> (1733ns)</span>
3677 <span class="blue">1.23<br> (1028ns)</span>
3682 <span class="blue">1.58<br> (1317ns)</span>
3687 <span class="green">1.10<br> (916ns)</span>
3692 <span class="green">1.00<br> (833ns)</span>
3699 NegativeBinomial (PDF)
3704 <span class="red">2.19<br> (384ns)</span>
3709 <span class="green">1.00<br> (175ns)</span>
3714 <span class="grey">-</span>
3719 <span class="green">1.12<br> (196ns)</span>
3728 NegativeBinomial (quantile)
3733 <span class="blue">1.74<br> (9167ns)</span>
3738 <span class="green">1.00<br> (5278ns)</span>
3743 <span class="grey">-</span>
3748 <span class="red">3.35<br> (17681ns)</span>
3753 <span class="red">3.01<br> (15887ns)</span>
3760 NonCentralBeta (CDF)
3765 <span class="red">2.25<br> (2715ns)</span>
3770 <span class="green">1.18<br> (1421ns)</span>
3775 <span class="grey">-</span>
3780 <span class="green">1.00<br> (1205ns)</span>
3789 NonCentralBeta (PDF)
3794 <span class="red">2.13<br> (2036ns)</span>
3799 <span class="blue">1.23<br> (1179ns)</span>
3804 <span class="grey">-</span>
3809 <span class="green">1.00<br> (956ns)</span>
3818 NonCentralBeta (quantile)
3823 <span class="red">2.15<br> (63495ns)</span>
3828 <span class="green">1.00<br> (29566ns)</span>
3833 <span class="grey">-</span>
3838 <span class="red">2.89<br> (85371ns)</span>
3847 NonCentralChiSquared (CDF)
3852 <span class="red">10.17<br> (7258ns)</span>
3857 <span class="red">6.32<br> (4515ns)</span>
3862 <span class="grey">-</span>
3867 <span class="red">15.17<br> (10828ns)</span>
3872 <span class="green">1.00<br> (714ns)</span>
3879 NonCentralChiSquared (PDF)
3884 <span class="red">2.81<br> (1275ns)</span>
3889 <span class="blue">1.55<br> (705ns)</span>
3894 <span class="grey">-</span>
3899 <span class="green">1.00<br> (454ns)</span>
3908 NonCentralChiSquared (quantile)
3913 <span class="red">3.29<br> (51391ns)</span>
3918 <span class="blue">1.72<br> (26920ns)</span>
3923 <span class="grey">-</span>
3928 <span class="red">34.31<br> (536514ns)</span>
3933 <span class="green">1.00<br> (15636ns)</span>
3945 <span class="blue">1.96<br> (2583ns)</span>
3950 <span class="green">1.04<br> (1364ns)</span>
3955 <span class="grey">-</span>
3960 <span class="green">1.00<br> (1316ns)</span>
3965 <span class="green">1.15<br> (1512ns)</span>
3977 <span class="red">2.39<br> (2102ns)</span>
3982 <span class="blue">1.25<br> (1099ns)</span>
3987 <span class="grey">-</span>
3992 <span class="green">1.00<br> (878ns)</span>
4001 NonCentralF (quantile)
4006 <span class="red">2.30<br> (39838ns)</span>
4011 <span class="green">1.15<br> (19939ns)</span>
4016 <span class="grey">-</span>
4021 <span class="red">4.06<br> (70302ns)</span>
4026 <span class="green">1.00<br> (17331ns)</span>
4038 <span class="red">5.04<br> (9817ns)</span>
4043 <span class="red">3.10<br> (6036ns)</span>
4048 <span class="grey">-</span>
4053 <span class="green">1.00<br> (1949ns)</span>
4058 <span class="blue">1.84<br> (3591ns)</span>
4070 <span class="blue">1.82<br> (7422ns)</span>
4075 <span class="green">1.19<br> (4838ns)</span>
4080 <span class="grey">-</span>
4085 <span class="green">1.00<br> (4078ns)</span>
4094 NonCentralT (quantile)
4099 <span class="blue">1.88<br> (100206ns)</span>
4104 <span class="green">1.12<br> (59572ns)</span>
4109 <span class="grey">-</span>
4114 <span class="blue">1.70<br> (90848ns)</span>
4119 <span class="green">1.00<br> (53399ns)</span>
4131 <span class="red">2.55<br> (79ns)</span>
4136 <span class="green">1.13<br> (35ns)</span>
4141 <span class="green">1.00<br> (31ns)</span>
4146 <span class="red">2.06<br> (64ns)</span>
4151 <span class="red">6.61<br> (205ns)</span>
4163 <span class="green">1.03<br> (33ns)</span>
4168 <span class="green">1.00<br> (32ns)</span>
4173 <span class="grey">-</span>
4178 <span class="blue">1.25<br> (40ns)</span>
4192 <span class="red">2.03<br> (67ns)</span>
4197 <span class="blue">1.58<br> (52ns)</span>
4202 <span class="green">1.00<br> (33ns)</span>
4207 <span class="blue">1.36<br> (45ns)</span>
4212 <span class="red">17.58<br> (580ns)</span>
4224 <span class="green">1.00<br> (52ns)</span>
4229 <span class="green">1.02<br> (53ns)</span>
4234 <span class="blue">1.21<br> (63ns)</span>
4250 <span class="green">1.01<br> (91ns)</span>
4255 <span class="green">1.00<br> (90ns)</span>
4273 <span class="green">1.04<br> (55ns)</span>
4278 <span class="blue">1.25<br> (66ns)</span>
4283 <span class="green">1.00<br> (53ns)</span>
4299 <span class="red">2.01<br> (251ns)</span>
4304 <span class="green">1.00<br> (125ns)</span>
4309 <span class="red">5.84<br> (730ns)</span>
4314 <span class="red">2.22<br> (278ns)</span>
4319 <span class="blue">1.68<br> (210ns)</span>
4331 <span class="red">2.09<br> (196ns)</span>
4336 <span class="green">1.00<br> (94ns)</span>
4341 <span class="grey">-</span>
4346 <span class="green">1.01<br> (95ns)</span>
4360 <span class="blue">1.99<br> (1120ns)</span>
4365 <span class="green">1.00<br> (562ns)</span>
4370 <span class="grey">-</span>
4375 <span class="blue">1.21<br> (682ns)</span>
4380 <span class="red">5.51<br> (3097ns)</span>
4392 <span class="green">1.10<br> (23ns)</span>
4397 <span class="green">1.05<br> (22ns)</span>
4402 <span class="green">1.00<br> (21ns)</span>
4418 <span class="green">1.15<br> (31ns)</span>
4423 <span class="green">1.00<br> (27ns)</span>
4441 <span class="blue">1.25<br> (25ns)</span>
4446 <span class="green">1.20<br> (24ns)</span>
4451 <span class="green">1.00<br> (20ns)</span>
4467 <span class="green">1.09<br> (471ns)</span>
4472 <span class="green">1.00<br> (433ns)</span>
4490 <span class="blue">1.53<br> (90ns)</span>
4495 <span class="green">1.00<br> (59ns)</span>
4508 SkewNormal (quantile)
4513 <span class="green">1.07<br> (3697ns)</span>
4518 <span class="green">1.00<br> (3440ns)</span>
4536 <span class="red">5.72<br> (1517ns)</span>
4541 <span class="blue">1.82<br> (481ns)</span>
4546 <span class="green">1.00<br> (265ns)</span>
4551 <span class="blue">1.42<br> (375ns)</span>
4556 <span class="blue">1.68<br> (446ns)</span>
4568 <span class="red">5.23<br> (716ns)</span>
4573 <span class="blue">1.45<br> (198ns)</span>
4578 <span class="grey">-</span>
4583 <span class="green">1.00<br> (137ns)</span>
4592 StudentsT (quantile)
4597 <span class="red">3.04<br> (2557ns)</span>
4602 <span class="green">1.00<br> (841ns)</span>
4607 <span class="blue">1.37<br> (1148ns)</span>
4612 <span class="green">1.16<br> (977ns)</span>
4617 <span class="red">4.48<br> (3770ns)</span>
4629 <span class="green">1.07<br> (91ns)</span>
4634 <span class="green">1.00<br> (85ns)</span>
4639 <span class="green">1.00<br> (85ns)</span>
4644 <span class="green">1.19<br> (101ns)</span>
4658 <span class="blue">1.48<br> (155ns)</span>
4663 <span class="blue">1.47<br> (154ns)</span>
4668 <span class="grey">-</span>
4673 <span class="green">1.00<br> (105ns)</span>
4687 <span class="green">1.00<br> (89ns)</span>
4692 <span class="green">1.00<br> (89ns)</span>
4697 <span class="green">1.16<br> (103ns)</span>
4702 <span class="green">1.08<br> (96ns)</span>
4711 <br class="table-break">
4713 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
4714 <td align="left"></td>
4715 <td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
4716 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
4717 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
4718 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
4719 Daryle Walker and Xiaogang Zhang<p>
4720 Distributed under the Boost Software License, Version 1.0. (See accompanying
4721 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
4726 <div class="spirit-nav">
4727 <a accesskey="p" href="comp_compilers.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>