3 <meta http-equiv=
"Content-Type" content=
"text/html; charset=US-ASCII">
4 <title>Float Algorithm Performance
</title>
5 <link rel=
"stylesheet" href=
"../../../../../../doc/src/boostbook.css" type=
"text/css">
6 <meta name=
"generator" content=
"DocBook XSL Stylesheets V1.77.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=
"int_real_world.html" title=
"Integer Real World Tests">
10 <link rel=
"next" href=
"integer_performance.html" title=
"Integer Algorithm Performance">
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=
"int_real_world.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=
"integer_performance.html"><img src=
"../../../../../../doc/src/images/next.png" alt=
"Next"></a>
26 <div class=
"titlepage"><div><div><h3 class=
"title">
27 <a name=
"boost_multiprecision.perf.float_performance"></a><a class=
"link" href=
"float_performance.html" title=
"Float Algorithm Performance">Float Algorithm
29 </h3></div></div></div>
31 Note that these tests are carefully designed to test performance of the underlying
32 algorithms and not memory allocation or variable copying. As usual, performance
33 results should be taken with a healthy dose of scepticism, and real-world
34 performance may vary widely depending upon the specifics of the program.
35 In each table relative times are given first, with the best performer given
36 a score of
1. Total actual times are given in brackets, measured in seconds
37 for
500000 operations.
40 <a name=
"boost_multiprecision.perf.float_performance.operator"></a><p class=
"title"><b>Table
 1.14.
 Operator +
</b></p>
41 <div class=
"table-contents"><table class=
"table" summary=
"Operator +">
79 <span class=
"bold"><strong>1</strong></span> (
0.0575156s)
84 <span class=
"bold"><strong>1</strong></span> (
0.0740086s)
89 <span class=
"bold"><strong>1</strong></span> (
0.219073s)
140 <br class=
"table-break"><div class=
"table">
141 <a name=
"boost_multiprecision.perf.float_performance.operator_int"></a><p class=
"title"><b>Table
 1.15.
 Operator +(int)
</b></p>
142 <div class=
"table-contents"><table class=
"table" summary=
"Operator +(int)">
202 <span class=
"bold"><strong>1</strong></span> (
0.0585424s)
207 <span class=
"bold"><strong>1</strong></span> (
0.0439398s)
212 <span class=
"bold"><strong>1</strong></span> (
0.0730648s)
241 <br class=
"table-break"><div class=
"table">
242 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long"></a><p class=
"title"><b>Table
 1.16.
 Operator +(unsigned long long)
</b></p>
243 <div class=
"table-contents"><table class=
"table" summary=
"Operator +(unsigned long long)">
281 <span class=
"bold"><strong>1</strong></span> (
0.118146s)
286 <span class=
"bold"><strong>1</strong></span> (
0.144714s)
291 <span class=
"bold"><strong>1</strong></span> (
0.315639s)
342 <br class=
"table-break"><div class=
"table">
343 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long0"></a><p class=
"title"><b>Table
 1.17.
 Operator +=(unsigned long long)
</b></p>
344 <div class=
"table-contents"><table class=
"table" summary=
"Operator +=(unsigned long long)">
382 <span class=
"bold"><strong>1</strong></span> (
0.101188s)
387 <span class=
"bold"><strong>1</strong></span> (
0.122394s)
392 <span class=
"bold"><strong>1</strong></span> (
0.251975s)
443 <br class=
"table-break"><div class=
"table">
444 <a name=
"boost_multiprecision.perf.float_performance.operator0"></a><p class=
"title"><b>Table
 1.18.
 Operator -
</b></p>
445 <div class=
"table-contents"><table class=
"table" summary=
"Operator -">
483 <span class=
"bold"><strong>1</strong></span> (
0.0895163s)
488 <span class=
"bold"><strong>1</strong></span> (
0.129248s)
515 <span class=
"bold"><strong>1</strong></span> (
0.248219s)
544 <br class=
"table-break"><div class=
"table">
545 <a name=
"boost_multiprecision.perf.float_performance.operator_int0"></a><p class=
"title"><b>Table
 1.19.
 Operator -(int)
</b></p>
546 <div class=
"table-contents"><table class=
"table" summary=
"Operator -(int)">
584 <span class=
"bold"><strong>1</strong></span> (
0.105285s)
589 <span class=
"bold"><strong>1</strong></span> (
0.142741s)
594 <span class=
"bold"><strong>1</strong></span> (
0.278718s)
645 <br class=
"table-break"><div class=
"table">
646 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long1"></a><p class=
"title"><b>Table
 1.20.
 Operator -(unsigned long long)
</b></p>
647 <div class=
"table-contents"><table class=
"table" summary=
"Operator -(unsigned long long)">
685 <span class=
"bold"><strong>1</strong></span> (
0.13719s)
690 <span class=
"bold"><strong>1</strong></span> (
0.184428s)
695 <span class=
"bold"><strong>1</strong></span> (
0.344212s)
746 <br class=
"table-break"><div class=
"table">
747 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long2"></a><p class=
"title"><b>Table
 1.21.
 Operator -=(unsigned long long)
</b></p>
748 <div class=
"table-contents"><table class=
"table" summary=
"Operator -=(unsigned long long)">
786 <span class=
"bold"><strong>1</strong></span> (
0.100984s)
791 <span class=
"bold"><strong>1</strong></span> (
0.123148s)
796 <span class=
"bold"><strong>1</strong></span> (
0.246181s)
847 <br class=
"table-break"><div class=
"table">
848 <a name=
"boost_multiprecision.perf.float_performance.operator1"></a><p class=
"title"><b>Table
 1.22.
 Operator *
</b></p>
849 <div class=
"table-contents"><table class=
"table" summary=
"Operator *">
909 <span class=
"bold"><strong>1</strong></span> (
0.274196s)
914 <span class=
"bold"><strong>1</strong></span> (
0.410891s)
919 <span class=
"bold"><strong>1</strong></span> (
3.32484s)
948 <br class=
"table-break"><div class=
"table">
949 <a name=
"boost_multiprecision.perf.float_performance.operator_int1"></a><p class=
"title"><b>Table
 1.23.
 Operator *(int)
</b></p>
950 <div class=
"table-contents"><table class=
"table" summary=
"Operator *(int)">
1010 <span class=
"bold"><strong>1</strong></span> (
0.0604505s)
1015 <span class=
"bold"><strong>1</strong></span> (
0.0467577s)
1020 <span class=
"bold"><strong>1</strong></span> (
0.0859431s)
1049 <br class=
"table-break"><div class=
"table">
1050 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long3"></a><p class=
"title"><b>Table
 1.24.
 Operator *(unsigned long long)
</b></p>
1051 <div class=
"table-contents"><table class=
"table" summary=
"Operator *(unsigned long long)">
1089 <span class=
"bold"><strong>1</strong></span> (
0.331877s)
1116 <span class=
"bold"><strong>1</strong></span> (
0.579987s)
1121 <span class=
"bold"><strong>1</strong></span> (
0.716672s)
1150 <br class=
"table-break"><div class=
"table">
1151 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long4"></a><p class=
"title"><b>Table
 1.25.
 Operator *=(unsigned long long)
</b></p>
1152 <div class=
"table-contents"><table class=
"table" summary=
"Operator *=(unsigned long long)">
1190 <span class=
"bold"><strong>1</strong></span> (
0.321397s)
1217 <span class=
"bold"><strong>1</strong></span> (
0.570482s)
1222 <span class=
"bold"><strong>1</strong></span> (
0.712791s)
1251 <br class=
"table-break"><div class=
"table">
1252 <a name=
"boost_multiprecision.perf.float_performance.operator2"></a><p class=
"title"><b>Table
 1.26.
 Operator /
</b></p>
1253 <div class=
"table-contents"><table class=
"table" summary=
"Operator /">
1313 <span class=
"bold"><strong>1</strong></span> (
1.35354s)
1318 <span class=
"bold"><strong>1</strong></span> (
1.73512s)
1323 <span class=
"bold"><strong>1</strong></span> (
8.42422s)
1352 <br class=
"table-break"><div class=
"table">
1353 <a name=
"boost_multiprecision.perf.float_performance.operator_int2"></a><p class=
"title"><b>Table
 1.27.
 Operator /(int)
</b></p>
1354 <div class=
"table-contents"><table class=
"table" summary=
"Operator /(int)">
1419 <span class=
"bold"><strong>1</strong></span> (
0.238433s)
1424 <span class=
"bold"><strong>1</strong></span> (
0.716536s)
1436 <span class=
"bold"><strong>1</strong></span> (
0.211229s)
1453 <br class=
"table-break"><div class=
"table">
1454 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long5"></a><p class=
"title"><b>Table
 1.28.
 Operator /(unsigned long long)
</b></p>
1455 <div class=
"table-contents"><table class=
"table" summary=
"Operator /(unsigned long long)">
1515 <span class=
"bold"><strong>1</strong></span> (
0.936452s)
1520 <span class=
"bold"><strong>1</strong></span> (
1.04746s)
1525 <span class=
"bold"><strong>1</strong></span> (
2.25081s)
1554 <br class=
"table-break"><div class=
"table">
1555 <a name=
"boost_multiprecision.perf.float_performance.operator_unsigned_long_long6"></a><p class=
"title"><b>Table
 1.29.
 Operator /=(unsigned long long)
</b></p>
1556 <div class=
"table-contents"><table class=
"table" summary=
"Operator /=(unsigned long long)">
1616 <span class=
"bold"><strong>1</strong></span> (
0.905621s)
1621 <span class=
"bold"><strong>1</strong></span> (
1.0265s)
1626 <span class=
"bold"><strong>1</strong></span> (
2.24882s)
1655 <br class=
"table-break"><div class=
"table">
1656 <a name=
"boost_multiprecision.perf.float_performance.operator_construct"></a><p class=
"title"><b>Table
 1.30.
 Operator construct
</b></p>
1657 <div class=
"table-contents"><table class=
"table" summary=
"Operator construct">
1695 <span class=
"bold"><strong>1</strong></span> (
0.00929804s)
1700 <span class=
"bold"><strong>1</strong></span> (
0.0268321s)
1705 <span class=
"bold"><strong>1</strong></span> (
0.0310685s)
1756 <br class=
"table-break"><div class=
"table">
1757 <a name=
"boost_multiprecision.perf.float_performance.operator_construct_unsigned"></a><p class=
"title"><b>Table
 1.31.
 Operator construct(unsigned)
</b></p>
1758 <div class=
"table-contents"><table class=
"table" summary=
"Operator construct(unsigned)">
1796 <span class=
"bold"><strong>1</strong></span> (
0.0603971s)
1801 <span class=
"bold"><strong>1</strong></span> (
0.0735485s)
1806 <span class=
"bold"><strong>1</strong></span> (
0.116464s)
1857 <br class=
"table-break"><div class=
"table">
1858 <a name=
"boost_multiprecision.perf.float_performance.operator_construct_unsigned_long"></a><p class=
"title"><b>Table
 1.32.
 Operator construct(unsigned long long)
</b></p>
1859 <div class=
"table-contents"><table class=
"table" summary=
"Operator construct(unsigned long long)">
1897 <span class=
"bold"><strong>1</strong></span> (
0.0610288s)
1902 <span class=
"bold"><strong>1</strong></span> (
0.0759005s)
1907 <span class=
"bold"><strong>1</strong></span> (
0.118511s)
1958 <br class=
"table-break"><div class=
"table">
1959 <a name=
"boost_multiprecision.perf.float_performance.operator_str"></a><p class=
"title"><b>Table
 1.33.
 Operator str
</b></p>
1960 <div class=
"table-contents"><table class=
"table" summary=
"Operator str">
1998 2.95848 (
0.0223061s)
2020 <span class=
"bold"><strong>1</strong></span> (
0.00753971s)
2025 <span class=
"bold"><strong>1</strong></span> (
0.0100374s)
2030 <span class=
"bold"><strong>1</strong></span> (
0.0440106s)
2042 1.25424 (
0.00945658s)
2052 1.09428 (
0.0481601s)
2059 <br class=
"table-break"><p>
2060 Test code was compiled with Microsoft Visual Studio
2010 with all optimisations
2061 turned on (/Ox), and used MPIR-
2.3.0 and
<a href=
"http://www.mpfr.org" target=
"_top">MPFR
</a>-
3.0.0.
2062 The tests were run on
32-bit Windows Vista machine.
2065 <table xmlns:
rev=
"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width=
"100%"><tr>
2066 <td align=
"left"></td>
2067 <td align=
"right"><div class=
"copyright-footer">Copyright
© 2002-
2013 John Maddock and Christopher Kormanyos
<p>
2068 Distributed under the Boost Software License, Version
1.0. (See accompanying
2069 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>)
2074 <div class=
"spirit-nav">
2075 <a accesskey=
"p" href=
"int_real_world.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=
"integer_performance.html"><img src=
"../../../../../../doc/src/images/next.png" alt=
"Next"></a>