1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Floating-Point Real World Tests</title> 5<link rel="stylesheet" href="../../multiprecision.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../index.html" title="Chapter 1. Boost.Multiprecision"> 8<link rel="up" href="../perf.html" title="Performance Comparison"> 9<link rel="prev" href="overhead.html" title="The Overhead in the Number Class Wrapper"> 10<link rel="next" href="int_real_world.html" title="Integer Real World Tests"> 11</head> 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> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="overhead.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="int_real_world.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h3 class="title"> 27<a name="boost_multiprecision.perf.realworld"></a><a class="link" href="realworld.html" title="Floating-Point Real World Tests">Floating-Point Real 28 World Tests</a> 29</h3></div></div></div> 30<p> 31 These tests test the total time taken to execute all of Boost.Math's test 32 cases for these functions. In each case the best performing library gets 33 a relative score of 1, with the total execution time given in brackets. Times 34 are shown for both single threaded runs and concurrent execution - the latter 35 increases contension inside new/delete. 36 </p> 37<div class="table"> 38<a name="boost_multiprecision.perf.realworld.bessel_functions_50_digit_precis"></a><p class="title"><b>Table 1.14. Bessel Functions (50 digit precision)</b></p> 39<div class="table-contents"><table class="table" summary="Bessel Functions (50 digit precision)"> 40<colgroup> 41<col> 42<col> 43<col> 44</colgroup> 45<thead><tr> 46<th> 47 <p> 48 Type 49 </p> 50 </th> 51<th> 52 <p> 53 Time 54 </p> 55 </th> 56<th> 57 <p> 58 # Allocations 59 </p> 60 </th> 61</tr></thead> 62<tbody> 63<tr> 64<td> 65 <p> 66 cpp_bin_float_50 67 </p> 68 </td> 69<td> 70 <p> 71 2.20534 (0.315701s) 72 </p> 73 </td> 74<td> 75 <p> 76 4 77 </p> 78 </td> 79</tr> 80<tr> 81<td> 82 <p> 83 cpp_bin_float_50 (3 concurrent threads) 84 </p> 85 </td> 86<td> 87 <p> 88 2.36703 (0.338848s) 89 </p> 90 </td> 91<td> 92 <p> 93 44 94 </p> 95 </td> 96</tr> 97<tr> 98<td> 99 <p> 100 cpp_dec_float_50 101 </p> 102 </td> 103<td> 104 <p> 105 2.6349 (0.377193s) 106 </p> 107 </td> 108<td> 109 <p> 110 3 111 </p> 112 </td> 113</tr> 114<tr> 115<td> 116 <p> 117 cpp_dec_float_50 (3 concurrent threads) 118 </p> 119 </td> 120<td> 121 <p> 122 2.86599 (0.410275s) 123 </p> 124 </td> 125<td> 126 <p> 127 37 128 </p> 129 </td> 130</tr> 131<tr> 132<td> 133 <p> 134 mpf_float_50 135 </p> 136 </td> 137<td> 138 <p> 139 1.17269 (0.167874s) 140 </p> 141 </td> 142<td> 143 <p> 144 870726 145 </p> 146 </td> 147</tr> 148<tr> 149<td> 150 <p> 151 mpf_float_50 (3 concurrent threads) 152 </p> 153 </td> 154<td> 155 <p> 156 1.43643 (0.205629s) 157 </p> 158 </td> 159<td> 160 <p> 161 3482853 162 </p> 163 </td> 164</tr> 165<tr> 166<td> 167 <p> 168 mpf_float_50 (no expression templates 169 </p> 170 </td> 171<td> 172 <p> 173 1.19799 (0.171495s) 174 </p> 175 </td> 176<td> 177 <p> 178 1071229 179 </p> 180 </td> 181</tr> 182<tr> 183<td> 184 <p> 185 mpf_float_50 (no expression templates (3 concurrent threads) 186 </p> 187 </td> 188<td> 189 <p> 190 1.57224 (0.22507s) 191 </p> 192 </td> 193<td> 194 <p> 195 4284875 196 </p> 197 </td> 198</tr> 199<tr> 200<td> 201 <p> 202 mpfr_float_50 203 </p> 204 </td> 205<td> 206 <p> 207 1.42535 (0.204043s) 208 </p> 209 </td> 210<td> 211 <p> 212 813605 213 </p> 214 </td> 215</tr> 216<tr> 217<td> 218 <p> 219 mpfr_float_50 (3 concurrent threads) 220 </p> 221 </td> 222<td> 223 <p> 224 1.66446 (0.238272s) 225 </p> 226 </td> 227<td> 228 <p> 229 3255603 230 </p> 231 </td> 232</tr> 233<tr> 234<td> 235 <p> 236 mpfr_float_50 (no expression templates 237 </p> 238 </td> 239<td> 240 <p> 241 1.51042 (0.216221s) 242 </p> 243 </td> 244<td> 245 <p> 246 1001796 247 </p> 248 </td> 249</tr> 250<tr> 251<td> 252 <p> 253 mpfr_float_50 (no expression templates (3 concurrent threads) 254 </p> 255 </td> 256<td> 257 <p> 258 1.86742 (0.267326s) 259 </p> 260 </td> 261<td> 262 <p> 263 4008535 264 </p> 265 </td> 266</tr> 267<tr> 268<td> 269 <p> 270 static_mpfr_float_50 271 </p> 272 </td> 273<td> 274 <p> 275 1.02344 (0.146508s) 276 </p> 277 </td> 278<td> 279 <p> 280 18685 281 </p> 282 </td> 283</tr> 284<tr> 285<td> 286 <p> 287 static_mpfr_float_50 (3 concurrent threads) 288 </p> 289 </td> 290<td> 291 <p> 292 1.25745 (0.180008s) 293 </p> 294 </td> 295<td> 296 <p> 297 75947 298 </p> 299 </td> 300</tr> 301<tr> 302<td> 303 <p> 304 static_mpfr_float_50 (no expression templates) 305 </p> 306 </td> 307<td> 308 <p> 309 1 (0.143153s) 310 </p> 311 </td> 312<td> 313 <p> 314 46826 315 </p> 316 </td> 317</tr> 318<tr> 319<td> 320 <p> 321 static_mpfr_float_50 (no expression templates) (3 concurrent threads) 322 </p> 323 </td> 324<td> 325 <p> 326 1.12861 (0.161564s) 327 </p> 328 </td> 329<td> 330 <p> 331 189192 332 </p> 333 </td> 334</tr> 335</tbody> 336</table></div> 337</div> 338<br class="table-break"><div class="table"> 339<a name="boost_multiprecision.perf.realworld.non_central_t_distribution_50_di"></a><p class="title"><b>Table 1.15. Non-central T Distribution (50 digit precision)</b></p> 340<div class="table-contents"><table class="table" summary="Non-central T Distribution (50 digit precision)"> 341<colgroup> 342<col> 343<col> 344<col> 345</colgroup> 346<thead><tr> 347<th> 348 <p> 349 Type 350 </p> 351 </th> 352<th> 353 <p> 354 Time 355 </p> 356 </th> 357<th> 358 <p> 359 # Allocations 360 </p> 361 </th> 362</tr></thead> 363<tbody> 364<tr> 365<td> 366 <p> 367 cpp_bin_float_50 368 </p> 369 </td> 370<td> 371 <p> 372 2.3739 (59.0179s) 373 </p> 374 </td> 375<td> 376 <p> 377 1 378 </p> 379 </td> 380</tr> 381<tr> 382<td> 383 <p> 384 cpp_bin_float_50 (3 concurrent threads) 385 </p> 386 </td> 387<td> 388 <p> 389 3.21496 (79.9276s) 390 </p> 391 </td> 392<td> 393 <p> 394 29 395 </p> 396 </td> 397</tr> 398<tr> 399<td> 400 <p> 401 cpp_dec_float_50 402 </p> 403 </td> 404<td> 405 <p> 406 2.47505 (61.5326s) 407 </p> 408 </td> 409<td> 410 <p> 411 4 412 </p> 413 </td> 414</tr> 415<tr> 416<td> 417 <p> 418 mpf_float_50 419 </p> 420 </td> 421<td> 422 <p> 423 1.13495 (28.2162s) 424 </p> 425 </td> 426<td> 427 <p> 428 162346817 429 </p> 430 </td> 431</tr> 432<tr> 433<td> 434 <p> 435 mpf_float_50 (no expression templates 436 </p> 437 </td> 438<td> 439 <p> 440 1 (24.8611s) 441 </p> 442 </td> 443<td> 444 <p> 445 154896018 446 </p> 447 </td> 448</tr> 449<tr> 450<td> 451 <p> 452 mpfr_float_50 453 </p> 454 </td> 455<td> 456 <p> 457 1.84473 (45.8621s) 458 </p> 459 </td> 460<td> 461 <p> 462 196986977 463 </p> 464 </td> 465</tr> 466<tr> 467<td> 468 <p> 469 mpfr_float_50 (no expression templates 470 </p> 471 </td> 472<td> 473 <p> 474 1.66952 (41.5062s) 475 </p> 476 </td> 477<td> 478 <p> 479 194554719 480 </p> 481 </td> 482</tr> 483<tr> 484<td> 485 <p> 486 static_mpfr_float_50 487 </p> 488 </td> 489<td> 490 <p> 491 1.25101 (31.1014s) 492 </p> 493 </td> 494<td> 495 <p> 496 1798554 497 </p> 498 </td> 499</tr> 500</tbody> 501</table></div> 502</div> 503<br class="table-break"><div class="table"> 504<a name="boost_multiprecision.perf.realworld.platform"></a><p class="title"><b>Table 1.16. Platform Details</b></p> 505<div class="table-contents"><table class="table" summary="Platform Details"> 506<colgroup> 507<col> 508<col> 509</colgroup> 510<thead><tr> 511<th> 512 <p> 513 Platform 514 </p> 515 </th> 516<th> 517 <p> 518 Linux 5.3.0-24-generic, version #26-Ubuntu SMP Thu Nov 14 01:33:18 519 UTC 2019, x86_64 520 </p> 521 </th> 522</tr></thead> 523<tbody> 524<tr> 525<td> 526 <p> 527 Compiler 528 </p> 529 </td> 530<td> 531 <p> 532 GNU C++ version 9.2.1 20191008 533 </p> 534 </td> 535</tr> 536<tr> 537<td> 538 <p> 539 GMP 540 </p> 541 </td> 542<td> 543 <p> 544 6.1.2 545 </p> 546 </td> 547</tr> 548<tr> 549<td> 550 <p> 551 MPFR 552 </p> 553 </td> 554<td> 555 <p> 556 262146 557 </p> 558 </td> 559</tr> 560<tr> 561<td> 562 <p> 563 Boost 564 </p> 565 </td> 566<td> 567 <p> 568 107200 569 </p> 570 </td> 571</tr> 572<tr> 573<td> 574 <p> 575 Run date 576 </p> 577 </td> 578<td> 579 <p> 580 Dec 13 2019 581 </p> 582 </td> 583</tr> 584</tbody> 585</table></div> 586</div> 587<br class="table-break"> 588</div> 589<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 590<td align="left"></td> 591<td align="right"><div class="copyright-footer">Copyright © 2002-2020 John 592 Maddock and Christopher Kormanyos<p> 593 Distributed under the Boost Software License, Version 1.0. (See accompanying 594 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>) 595 </p> 596</div></td> 597</tr></table> 598<hr> 599<div class="spirit-nav"> 600<a accesskey="p" href="overhead.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="int_real_world.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 601</div> 602</body> 603</html> 604