Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / multiprecision / doc / html / boost_multiprecision / perf / rational_performance.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Rational Type Performance</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&#160;1.&#160;Boost.Multiprecision">
8 <link rel="up" href="../perf.html" title="Performance Comparison">
9 <link rel="prev" href="integer_performance.html" title="Integer Algorithm Performance">
10 <link rel="next" href="../map.html" title="Roadmap">
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="integer_performance.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="../map.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.rational_performance"></a><a class="link" href="rational_performance.html" title="Rational Type Performance">Rational
28       Type Performance</a>
29 </h3></div></div></div>
30 <p>
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.
38       </p>
39 <div class="table">
40 <a name="boost_multiprecision.perf.rational_performance.operator"></a><p class="title"><b>Table&#160;1.66.&#160;Operator +</b></p>
41 <div class="table-contents"><table class="table" summary="Operator +">
42 <colgroup>
43 <col>
44 <col>
45 <col>
46 <col>
47 <col>
48 </colgroup>
49 <thead><tr>
50 <th>
51                 <p>
52                   Backend
53                 </p>
54               </th>
55 <th>
56                 <p>
57                   128 Bits
58                 </p>
59               </th>
60 <th>
61                 <p>
62                   256 Bits
63                 </p>
64               </th>
65 <th>
66                 <p>
67                   512 Bits
68                 </p>
69               </th>
70 <th>
71                 <p>
72                   1024 Bits
73                 </p>
74               </th>
75 </tr></thead>
76 <tbody>
77 <tr>
78 <td>
79                 <p>
80                   cpp_rational
81                 </p>
82               </td>
83 <td>
84                 <p>
85                   5.89417 (18.4116s)
86                 </p>
87               </td>
88 <td>
89                 <p>
90                   6.87256 (47.4698s)
91                 </p>
92               </td>
93 <td>
94                 <p>
95                   6.65008 (107.715s)
96                 </p>
97               </td>
98 <td>
99                 <p>
100                   6.53801 (256.244s)
101                 </p>
102               </td>
103 </tr>
104 <tr>
105 <td>
106                 <p>
107                   mpq_rational
108                 </p>
109               </td>
110 <td>
111                 <p>
112                   <span class="bold"><strong>1</strong></span> (3.1237s)
113                 </p>
114               </td>
115 <td>
116                 <p>
117                   <span class="bold"><strong>1</strong></span> (6.90715s)
118                 </p>
119               </td>
120 <td>
121                 <p>
122                   <span class="bold"><strong>1</strong></span> (16.1975s)
123                 </p>
124               </td>
125 <td>
126                 <p>
127                   <span class="bold"><strong>1</strong></span> (39.1929s)
128                 </p>
129               </td>
130 </tr>
131 </tbody>
132 </table></div>
133 </div>
134 <br class="table-break"><div class="table">
135 <a name="boost_multiprecision.perf.rational_performance.operator_int"></a><p class="title"><b>Table&#160;1.67.&#160;Operator +(int)</b></p>
136 <div class="table-contents"><table class="table" summary="Operator +(int)">
137 <colgroup>
138 <col>
139 <col>
140 <col>
141 <col>
142 <col>
143 </colgroup>
144 <thead><tr>
145 <th>
146                 <p>
147                   Backend
148                 </p>
149               </th>
150 <th>
151                 <p>
152                   128 Bits
153                 </p>
154               </th>
155 <th>
156                 <p>
157                   256 Bits
158                 </p>
159               </th>
160 <th>
161                 <p>
162                   512 Bits
163                 </p>
164               </th>
165 <th>
166                 <p>
167                   1024 Bits
168                 </p>
169               </th>
170 </tr></thead>
171 <tbody>
172 <tr>
173 <td>
174                 <p>
175                   cpp_rational
176                 </p>
177               </td>
178 <td>
179                 <p>
180                   3.62367 (2.46488s)
181                 </p>
182               </td>
183 <td>
184                 <p>
185                   4.18291 (2.94603s)
186                 </p>
187               </td>
188 <td>
189                 <p>
190                   4.726 (3.74866s)
191                 </p>
192               </td>
193 <td>
194                 <p>
195                   6.1388 (5.56817s)
196                 </p>
197               </td>
198 </tr>
199 <tr>
200 <td>
201                 <p>
202                   mpq_rational
203                 </p>
204               </td>
205 <td>
206                 <p>
207                   <span class="bold"><strong>1</strong></span> (0.680215s)
208                 </p>
209               </td>
210 <td>
211                 <p>
212                   <span class="bold"><strong>1</strong></span> (0.704303s)
213                 </p>
214               </td>
215 <td>
216                 <p>
217                   <span class="bold"><strong>1</strong></span> (0.7932s)
218                 </p>
219               </td>
220 <td>
221                 <p>
222                   <span class="bold"><strong>1</strong></span> (0.907046s)
223                 </p>
224               </td>
225 </tr>
226 </tbody>
227 </table></div>
228 </div>
229 <br class="table-break"><div class="table">
230 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long"></a><p class="title"><b>Table&#160;1.68.&#160;Operator +(unsigned long long)</b></p>
231 <div class="table-contents"><table class="table" summary="Operator +(unsigned long long)">
232 <colgroup>
233 <col>
234 <col>
235 <col>
236 <col>
237 <col>
238 </colgroup>
239 <thead><tr>
240 <th>
241                 <p>
242                   Backend
243                 </p>
244               </th>
245 <th>
246                 <p>
247                   128 Bits
248                 </p>
249               </th>
250 <th>
251                 <p>
252                   256 Bits
253                 </p>
254               </th>
255 <th>
256                 <p>
257                   512 Bits
258                 </p>
259               </th>
260 <th>
261                 <p>
262                   1024 Bits
263                 </p>
264               </th>
265 </tr></thead>
266 <tbody>
267 <tr>
268 <td>
269                 <p>
270                   cpp_rational
271                 </p>
272               </td>
273 <td>
274                 <p>
275                   1.1527 (2.6378s)
276                 </p>
277               </td>
278 <td>
279                 <p>
280                   1.31751 (3.09863s)
281                 </p>
282               </td>
283 <td>
284                 <p>
285                   1.58996 (4.00714s)
286                 </p>
287               </td>
288 <td>
289                 <p>
290                   2.15642 (5.75702s)
291                 </p>
292               </td>
293 </tr>
294 <tr>
295 <td>
296                 <p>
297                   mpq_rational
298                 </p>
299               </td>
300 <td>
301                 <p>
302                   <span class="bold"><strong>1</strong></span> (2.28837s)
303                 </p>
304               </td>
305 <td>
306                 <p>
307                   <span class="bold"><strong>1</strong></span> (2.35189s)
308                 </p>
309               </td>
310 <td>
311                 <p>
312                   <span class="bold"><strong>1</strong></span> (2.52028s)
313                 </p>
314               </td>
315 <td>
316                 <p>
317                   <span class="bold"><strong>1</strong></span> (2.66971s)
318                 </p>
319               </td>
320 </tr>
321 </tbody>
322 </table></div>
323 </div>
324 <br class="table-break"><div class="table">
325 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long0"></a><p class="title"><b>Table&#160;1.69.&#160;Operator +=(unsigned long long)</b></p>
326 <div class="table-contents"><table class="table" summary="Operator +=(unsigned long long)">
327 <colgroup>
328 <col>
329 <col>
330 <col>
331 <col>
332 <col>
333 </colgroup>
334 <thead><tr>
335 <th>
336                 <p>
337                   Backend
338                 </p>
339               </th>
340 <th>
341                 <p>
342                   128 Bits
343                 </p>
344               </th>
345 <th>
346                 <p>
347                   256 Bits
348                 </p>
349               </th>
350 <th>
351                 <p>
352                   512 Bits
353                 </p>
354               </th>
355 <th>
356                 <p>
357                   1024 Bits
358                 </p>
359               </th>
360 </tr></thead>
361 <tbody>
362 <tr>
363 <td>
364                 <p>
365                   cpp_rational
366                 </p>
367               </td>
368 <td>
369                 <p>
370                   1.18436 (2.7059s)
371                 </p>
372               </td>
373 <td>
374                 <p>
375                   1.32279 (3.11099s)
376                 </p>
377               </td>
378 <td>
379                 <p>
380                   1.61398 (4.05389s)
381                 </p>
382               </td>
383 <td>
384                 <p>
385                   2.20048 (5.84623s)
386                 </p>
387               </td>
388 </tr>
389 <tr>
390 <td>
391                 <p>
392                   mpq_rational
393                 </p>
394               </td>
395 <td>
396                 <p>
397                   <span class="bold"><strong>1</strong></span> (2.2847s)
398                 </p>
399               </td>
400 <td>
401                 <p>
402                   <span class="bold"><strong>1</strong></span> (2.35183s)
403                 </p>
404               </td>
405 <td>
406                 <p>
407                   <span class="bold"><strong>1</strong></span> (2.51174s)
408                 </p>
409               </td>
410 <td>
411                 <p>
412                   <span class="bold"><strong>1</strong></span> (2.6568s)
413                 </p>
414               </td>
415 </tr>
416 </tbody>
417 </table></div>
418 </div>
419 <br class="table-break"><div class="table">
420 <a name="boost_multiprecision.perf.rational_performance.operator0"></a><p class="title"><b>Table&#160;1.70.&#160;Operator -</b></p>
421 <div class="table-contents"><table class="table" summary="Operator -">
422 <colgroup>
423 <col>
424 <col>
425 <col>
426 <col>
427 <col>
428 </colgroup>
429 <thead><tr>
430 <th>
431                 <p>
432                   Backend
433                 </p>
434               </th>
435 <th>
436                 <p>
437                   128 Bits
438                 </p>
439               </th>
440 <th>
441                 <p>
442                   256 Bits
443                 </p>
444               </th>
445 <th>
446                 <p>
447                   512 Bits
448                 </p>
449               </th>
450 <th>
451                 <p>
452                   1024 Bits
453                 </p>
454               </th>
455 </tr></thead>
456 <tbody>
457 <tr>
458 <td>
459                 <p>
460                   cpp_rational
461                 </p>
462               </td>
463 <td>
464                 <p>
465                   5.81893 (18.3457s)
466                 </p>
467               </td>
468 <td>
469                 <p>
470                   6.82209 (47.1928s)
471                 </p>
472               </td>
473 <td>
474                 <p>
475                   6.64143 (107.498s)
476                 </p>
477               </td>
478 <td>
479                 <p>
480                   6.51362 (255.137s)
481                 </p>
482               </td>
483 </tr>
484 <tr>
485 <td>
486                 <p>
487                   mpq_rational
488                 </p>
489               </td>
490 <td>
491                 <p>
492                   <span class="bold"><strong>1</strong></span> (3.15277s)
493                 </p>
494               </td>
495 <td>
496                 <p>
497                   <span class="bold"><strong>1</strong></span> (6.91765s)
498                 </p>
499               </td>
500 <td>
501                 <p>
502                   <span class="bold"><strong>1</strong></span> (16.1859s)
503                 </p>
504               </td>
505 <td>
506                 <p>
507                   <span class="bold"><strong>1</strong></span> (39.1698s)
508                 </p>
509               </td>
510 </tr>
511 </tbody>
512 </table></div>
513 </div>
514 <br class="table-break"><div class="table">
515 <a name="boost_multiprecision.perf.rational_performance.operator_int0"></a><p class="title"><b>Table&#160;1.71.&#160;Operator -(int)</b></p>
516 <div class="table-contents"><table class="table" summary="Operator -(int)">
517 <colgroup>
518 <col>
519 <col>
520 <col>
521 <col>
522 <col>
523 </colgroup>
524 <thead><tr>
525 <th>
526                 <p>
527                   Backend
528                 </p>
529               </th>
530 <th>
531                 <p>
532                   128 Bits
533                 </p>
534               </th>
535 <th>
536                 <p>
537                   256 Bits
538                 </p>
539               </th>
540 <th>
541                 <p>
542                   512 Bits
543                 </p>
544               </th>
545 <th>
546                 <p>
547                   1024 Bits
548                 </p>
549               </th>
550 </tr></thead>
551 <tbody>
552 <tr>
553 <td>
554                 <p>
555                   cpp_rational
556                 </p>
557               </td>
558 <td>
559                 <p>
560                   3.72441 (2.48756s)
561                 </p>
562               </td>
563 <td>
564                 <p>
565                   4.27663 (2.98713s)
566                 </p>
567               </td>
568 <td>
569                 <p>
570                   4.62109 (3.72114s)
571                 </p>
572               </td>
573 <td>
574                 <p>
575                   6.17605 (5.56503s)
576                 </p>
577               </td>
578 </tr>
579 <tr>
580 <td>
581                 <p>
582                   mpq_rational
583                 </p>
584               </td>
585 <td>
586                 <p>
587                   <span class="bold"><strong>1</strong></span> (0.667908s)
588                 </p>
589               </td>
590 <td>
591                 <p>
592                   <span class="bold"><strong>1</strong></span> (0.698479s)
593                 </p>
594               </td>
595 <td>
596                 <p>
597                   <span class="bold"><strong>1</strong></span> (0.805252s)
598                 </p>
599               </td>
600 <td>
601                 <p>
602                   <span class="bold"><strong>1</strong></span> (0.901066s)
603                 </p>
604               </td>
605 </tr>
606 </tbody>
607 </table></div>
608 </div>
609 <br class="table-break"><div class="table">
610 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long1"></a><p class="title"><b>Table&#160;1.72.&#160;Operator -(unsigned long long)</b></p>
611 <div class="table-contents"><table class="table" summary="Operator -(unsigned long long)">
612 <colgroup>
613 <col>
614 <col>
615 <col>
616 <col>
617 <col>
618 </colgroup>
619 <thead><tr>
620 <th>
621                 <p>
622                   Backend
623                 </p>
624               </th>
625 <th>
626                 <p>
627                   128 Bits
628                 </p>
629               </th>
630 <th>
631                 <p>
632                   256 Bits
633                 </p>
634               </th>
635 <th>
636                 <p>
637                   512 Bits
638                 </p>
639               </th>
640 <th>
641                 <p>
642                   1024 Bits
643                 </p>
644               </th>
645 </tr></thead>
646 <tbody>
647 <tr>
648 <td>
649                 <p>
650                   cpp_rational
651                 </p>
652               </td>
653 <td>
654                 <p>
655                   1.15627 (2.63239s)
656                 </p>
657               </td>
658 <td>
659                 <p>
660                   1.32096 (3.12092s)
661                 </p>
662               </td>
663 <td>
664                 <p>
665                   1.61044 (4.00106s)
666                 </p>
667               </td>
668 <td>
669                 <p>
670                   2.19378 (5.7644s)
671                 </p>
672               </td>
673 </tr>
674 <tr>
675 <td>
676                 <p>
677                   mpq_rational
678                 </p>
679               </td>
680 <td>
681                 <p>
682                   <span class="bold"><strong>1</strong></span> (2.27663s)
683                 </p>
684               </td>
685 <td>
686                 <p>
687                   <span class="bold"><strong>1</strong></span> (2.36262s)
688                 </p>
689               </td>
690 <td>
691                 <p>
692                   <span class="bold"><strong>1</strong></span> (2.48445s)
693                 </p>
694               </td>
695 <td>
696                 <p>
697                   <span class="bold"><strong>1</strong></span> (2.62761s)
698                 </p>
699               </td>
700 </tr>
701 </tbody>
702 </table></div>
703 </div>
704 <br class="table-break"><div class="table">
705 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long2"></a><p class="title"><b>Table&#160;1.73.&#160;Operator -=(unsigned long long)</b></p>
706 <div class="table-contents"><table class="table" summary="Operator -=(unsigned long long)">
707 <colgroup>
708 <col>
709 <col>
710 <col>
711 <col>
712 <col>
713 </colgroup>
714 <thead><tr>
715 <th>
716                 <p>
717                   Backend
718                 </p>
719               </th>
720 <th>
721                 <p>
722                   128 Bits
723                 </p>
724               </th>
725 <th>
726                 <p>
727                   256 Bits
728                 </p>
729               </th>
730 <th>
731                 <p>
732                   512 Bits
733                 </p>
734               </th>
735 <th>
736                 <p>
737                   1024 Bits
738                 </p>
739               </th>
740 </tr></thead>
741 <tbody>
742 <tr>
743 <td>
744                 <p>
745                   cpp_rational
746                 </p>
747               </td>
748 <td>
749                 <p>
750                   1.1984 (2.73444s)
751                 </p>
752               </td>
753 <td>
754                 <p>
755                   1.34141 (3.15698s)
756                 </p>
757               </td>
758 <td>
759                 <p>
760                   1.64159 (4.06997s)
761                 </p>
762               </td>
763 <td>
764                 <p>
765                   2.23017 (5.88108s)
766                 </p>
767               </td>
768 </tr>
769 <tr>
770 <td>
771                 <p>
772                   mpq_rational
773                 </p>
774               </td>
775 <td>
776                 <p>
777                   <span class="bold"><strong>1</strong></span> (2.28174s)
778                 </p>
779               </td>
780 <td>
781                 <p>
782                   <span class="bold"><strong>1</strong></span> (2.35348s)
783                 </p>
784               </td>
785 <td>
786                 <p>
787                   <span class="bold"><strong>1</strong></span> (2.47929s)
788                 </p>
789               </td>
790 <td>
791                 <p>
792                   <span class="bold"><strong>1</strong></span> (2.63706s)
793                 </p>
794               </td>
795 </tr>
796 </tbody>
797 </table></div>
798 </div>
799 <br class="table-break"><div class="table">
800 <a name="boost_multiprecision.perf.rational_performance.operator1"></a><p class="title"><b>Table&#160;1.74.&#160;Operator *</b></p>
801 <div class="table-contents"><table class="table" summary="Operator *">
802 <colgroup>
803 <col>
804 <col>
805 <col>
806 <col>
807 <col>
808 </colgroup>
809 <thead><tr>
810 <th>
811                 <p>
812                   Backend
813                 </p>
814               </th>
815 <th>
816                 <p>
817                   128 Bits
818                 </p>
819               </th>
820 <th>
821                 <p>
822                   256 Bits
823                 </p>
824               </th>
825 <th>
826                 <p>
827                   512 Bits
828                 </p>
829               </th>
830 <th>
831                 <p>
832                   1024 Bits
833                 </p>
834               </th>
835 </tr></thead>
836 <tbody>
837 <tr>
838 <td>
839                 <p>
840                   cpp_rational
841                 </p>
842               </td>
843 <td>
844                 <p>
845                   5.4306 (32.5882s)
846                 </p>
847               </td>
848 <td>
849                 <p>
850                   6.91805 (89.9436s)
851                 </p>
852               </td>
853 <td>
854                 <p>
855                   6.94556 (207.307s)
856                 </p>
857               </td>
858 <td>
859                 <p>
860                   6.88704 (492.151s)
861                 </p>
862               </td>
863 </tr>
864 <tr>
865 <td>
866                 <p>
867                   mpq_rational
868                 </p>
869               </td>
870 <td>
871                 <p>
872                   <span class="bold"><strong>1</strong></span> (6.00084s)
873                 </p>
874               </td>
875 <td>
876                 <p>
877                   <span class="bold"><strong>1</strong></span> (13.0013s)
878                 </p>
879               </td>
880 <td>
881                 <p>
882                   <span class="bold"><strong>1</strong></span> (29.8475s)
883                 </p>
884               </td>
885 <td>
886                 <p>
887                   <span class="bold"><strong>1</strong></span> (71.4604s)
888                 </p>
889               </td>
890 </tr>
891 </tbody>
892 </table></div>
893 </div>
894 <br class="table-break"><div class="table">
895 <a name="boost_multiprecision.perf.rational_performance.operator_int1"></a><p class="title"><b>Table&#160;1.75.&#160;Operator *(int)</b></p>
896 <div class="table-contents"><table class="table" summary="Operator *(int)">
897 <colgroup>
898 <col>
899 <col>
900 <col>
901 <col>
902 <col>
903 </colgroup>
904 <thead><tr>
905 <th>
906                 <p>
907                   Backend
908                 </p>
909               </th>
910 <th>
911                 <p>
912                   128 Bits
913                 </p>
914               </th>
915 <th>
916                 <p>
917                   256 Bits
918                 </p>
919               </th>
920 <th>
921                 <p>
922                   512 Bits
923                 </p>
924               </th>
925 <th>
926                 <p>
927                   1024 Bits
928                 </p>
929               </th>
930 </tr></thead>
931 <tbody>
932 <tr>
933 <td>
934                 <p>
935                   cpp_rational
936                 </p>
937               </td>
938 <td>
939                 <p>
940                   2.12892 (2.51376s)
941                 </p>
942               </td>
943 <td>
944                 <p>
945                   2.47245 (3.07841s)
946                 </p>
947               </td>
948 <td>
949                 <p>
950                   2.86832 (3.93619s)
951                 </p>
952               </td>
953 <td>
954                 <p>
955                   3.94086 (6.02565s)
956                 </p>
957               </td>
958 </tr>
959 <tr>
960 <td>
961                 <p>
962                   mpq_rational
963                 </p>
964               </td>
965 <td>
966                 <p>
967                   <span class="bold"><strong>1</strong></span> (1.18077s)
968                 </p>
969               </td>
970 <td>
971                 <p>
972                   <span class="bold"><strong>1</strong></span> (1.24508s)
973                 </p>
974               </td>
975 <td>
976                 <p>
977                   <span class="bold"><strong>1</strong></span> (1.3723s)
978                 </p>
979               </td>
980 <td>
981                 <p>
982                   <span class="bold"><strong>1</strong></span> (1.52902s)
983                 </p>
984               </td>
985 </tr>
986 </tbody>
987 </table></div>
988 </div>
989 <br class="table-break"><div class="table">
990 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long3"></a><p class="title"><b>Table&#160;1.76.&#160;Operator *(unsigned long long)</b></p>
991 <div class="table-contents"><table class="table" summary="Operator *(unsigned long long)">
992 <colgroup>
993 <col>
994 <col>
995 <col>
996 <col>
997 <col>
998 </colgroup>
999 <thead><tr>
1000 <th>
1001                 <p>
1002                   Backend
1003                 </p>
1004               </th>
1005 <th>
1006                 <p>
1007                   128 Bits
1008                 </p>
1009               </th>
1010 <th>
1011                 <p>
1012                   256 Bits
1013                 </p>
1014               </th>
1015 <th>
1016                 <p>
1017                   512 Bits
1018                 </p>
1019               </th>
1020 <th>
1021                 <p>
1022                   1024 Bits
1023                 </p>
1024               </th>
1025 </tr></thead>
1026 <tbody>
1027 <tr>
1028 <td>
1029                 <p>
1030                   cpp_rational
1031                 </p>
1032               </td>
1033 <td>
1034                 <p>
1035                   1.32254 (5.43565s)
1036                 </p>
1037               </td>
1038 <td>
1039                 <p>
1040                   1.56078 (6.73163s)
1041                 </p>
1042               </td>
1043 <td>
1044                 <p>
1045                   1.97701 (9.32522s)
1046                 </p>
1047               </td>
1048 <td>
1049                 <p>
1050                   2.85404 (15.1573s)
1051                 </p>
1052               </td>
1053 </tr>
1054 <tr>
1055 <td>
1056                 <p>
1057                   mpq_rational
1058                 </p>
1059               </td>
1060 <td>
1061                 <p>
1062                   <span class="bold"><strong>1</strong></span> (4.11002s)
1063                 </p>
1064               </td>
1065 <td>
1066                 <p>
1067                   <span class="bold"><strong>1</strong></span> (4.313s)
1068                 </p>
1069               </td>
1070 <td>
1071                 <p>
1072                   <span class="bold"><strong>1</strong></span> (4.71682s)
1073                 </p>
1074               </td>
1075 <td>
1076                 <p>
1077                   <span class="bold"><strong>1</strong></span> (5.31082s)
1078                 </p>
1079               </td>
1080 </tr>
1081 </tbody>
1082 </table></div>
1083 </div>
1084 <br class="table-break"><div class="table">
1085 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long4"></a><p class="title"><b>Table&#160;1.77.&#160;Operator *=(unsigned long long)</b></p>
1086 <div class="table-contents"><table class="table" summary="Operator *=(unsigned long long)">
1087 <colgroup>
1088 <col>
1089 <col>
1090 <col>
1091 <col>
1092 <col>
1093 </colgroup>
1094 <thead><tr>
1095 <th>
1096                 <p>
1097                   Backend
1098                 </p>
1099               </th>
1100 <th>
1101                 <p>
1102                   128 Bits
1103                 </p>
1104               </th>
1105 <th>
1106                 <p>
1107                   256 Bits
1108                 </p>
1109               </th>
1110 <th>
1111                 <p>
1112                   512 Bits
1113                 </p>
1114               </th>
1115 <th>
1116                 <p>
1117                   1024 Bits
1118                 </p>
1119               </th>
1120 </tr></thead>
1121 <tbody>
1122 <tr>
1123 <td>
1124                 <p>
1125                   cpp_rational
1126                 </p>
1127               </td>
1128 <td>
1129                 <p>
1130                   6.29806 (58.1188s)
1131                 </p>
1132               </td>
1133 <td>
1134                 <p>
1135                   6.30556 (59.5076s)
1136                 </p>
1137               </td>
1138 <td>
1139                 <p>
1140                   6.3385 (62.1007s)
1141                 </p>
1142               </td>
1143 <td>
1144                 <p>
1145                   6.55345 (67.6905s)
1146                 </p>
1147               </td>
1148 </tr>
1149 <tr>
1150 <td>
1151                 <p>
1152                   mpq_rational
1153                 </p>
1154               </td>
1155 <td>
1156                 <p>
1157                   <span class="bold"><strong>1</strong></span> (9.22804s)
1158                 </p>
1159               </td>
1160 <td>
1161                 <p>
1162                   <span class="bold"><strong>1</strong></span> (9.43733s)
1163                 </p>
1164               </td>
1165 <td>
1166                 <p>
1167                   <span class="bold"><strong>1</strong></span> (9.79739s)
1168                 </p>
1169               </td>
1170 <td>
1171                 <p>
1172                   <span class="bold"><strong>1</strong></span> (10.329s)
1173                 </p>
1174               </td>
1175 </tr>
1176 </tbody>
1177 </table></div>
1178 </div>
1179 <br class="table-break"><div class="table">
1180 <a name="boost_multiprecision.perf.rational_performance.operator2"></a><p class="title"><b>Table&#160;1.78.&#160;Operator /</b></p>
1181 <div class="table-contents"><table class="table" summary="Operator /">
1182 <colgroup>
1183 <col>
1184 <col>
1185 <col>
1186 <col>
1187 <col>
1188 </colgroup>
1189 <thead><tr>
1190 <th>
1191                 <p>
1192                   Backend
1193                 </p>
1194               </th>
1195 <th>
1196                 <p>
1197                   128 Bits
1198                 </p>
1199               </th>
1200 <th>
1201                 <p>
1202                   256 Bits
1203                 </p>
1204               </th>
1205 <th>
1206                 <p>
1207                   512 Bits
1208                 </p>
1209               </th>
1210 <th>
1211                 <p>
1212                   1024 Bits
1213                 </p>
1214               </th>
1215 </tr></thead>
1216 <tbody>
1217 <tr>
1218 <td>
1219                 <p>
1220                   cpp_rational
1221                 </p>
1222               </td>
1223 <td>
1224                 <p>
1225                   4.4269 (66.8031s)
1226                 </p>
1227               </td>
1228 <td>
1229                 <p>
1230                   6.40103 (173.527s)
1231                 </p>
1232               </td>
1233 <td>
1234                 <p>
1235                   6.32347 (348.193s)
1236                 </p>
1237               </td>
1238 <td>
1239                 <p>
1240                   6.61148 (824.063s)
1241                 </p>
1242               </td>
1243 </tr>
1244 <tr>
1245 <td>
1246                 <p>
1247                   mpq_rational
1248                 </p>
1249               </td>
1250 <td>
1251                 <p>
1252                   <span class="bold"><strong>1</strong></span> (15.0903s)
1253                 </p>
1254               </td>
1255 <td>
1256                 <p>
1257                   <span class="bold"><strong>1</strong></span> (27.1093s)
1258                 </p>
1259               </td>
1260 <td>
1261                 <p>
1262                   <span class="bold"><strong>1</strong></span> (55.0637s)
1263                 </p>
1264               </td>
1265 <td>
1266                 <p>
1267                   <span class="bold"><strong>1</strong></span> (124.641s)
1268                 </p>
1269               </td>
1270 </tr>
1271 </tbody>
1272 </table></div>
1273 </div>
1274 <br class="table-break"><div class="table">
1275 <a name="boost_multiprecision.perf.rational_performance.operator_int2"></a><p class="title"><b>Table&#160;1.79.&#160;Operator /(int)</b></p>
1276 <div class="table-contents"><table class="table" summary="Operator /(int)">
1277 <colgroup>
1278 <col>
1279 <col>
1280 <col>
1281 <col>
1282 <col>
1283 </colgroup>
1284 <thead><tr>
1285 <th>
1286                 <p>
1287                   Backend
1288                 </p>
1289               </th>
1290 <th>
1291                 <p>
1292                   128 Bits
1293                 </p>
1294               </th>
1295 <th>
1296                 <p>
1297                   256 Bits
1298                 </p>
1299               </th>
1300 <th>
1301                 <p>
1302                   512 Bits
1303                 </p>
1304               </th>
1305 <th>
1306                 <p>
1307                   1024 Bits
1308                 </p>
1309               </th>
1310 </tr></thead>
1311 <tbody>
1312 <tr>
1313 <td>
1314                 <p>
1315                   cpp_rational
1316                 </p>
1317               </td>
1318 <td>
1319                 <p>
1320                   1.78772 (2.50984s)
1321                 </p>
1322               </td>
1323 <td>
1324                 <p>
1325                   2.10623 (3.10606s)
1326                 </p>
1327               </td>
1328 <td>
1329                 <p>
1330                   2.46986 (3.99358s)
1331                 </p>
1332               </td>
1333 <td>
1334                 <p>
1335                   3.37428 (5.96678s)
1336                 </p>
1337               </td>
1338 </tr>
1339 <tr>
1340 <td>
1341                 <p>
1342                   mpq_rational
1343                 </p>
1344               </td>
1345 <td>
1346                 <p>
1347                   <span class="bold"><strong>1</strong></span> (1.40393s)
1348                 </p>
1349               </td>
1350 <td>
1351                 <p>
1352                   <span class="bold"><strong>1</strong></span> (1.4747s)
1353                 </p>
1354               </td>
1355 <td>
1356                 <p>
1357                   <span class="bold"><strong>1</strong></span> (1.61693s)
1358                 </p>
1359               </td>
1360 <td>
1361                 <p>
1362                   <span class="bold"><strong>1</strong></span> (1.76831s)
1363                 </p>
1364               </td>
1365 </tr>
1366 </tbody>
1367 </table></div>
1368 </div>
1369 <br class="table-break"><div class="table">
1370 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long5"></a><p class="title"><b>Table&#160;1.80.&#160;Operator /(unsigned long long)</b></p>
1371 <div class="table-contents"><table class="table" summary="Operator /(unsigned long long)">
1372 <colgroup>
1373 <col>
1374 <col>
1375 <col>
1376 <col>
1377 <col>
1378 </colgroup>
1379 <thead><tr>
1380 <th>
1381                 <p>
1382                   Backend
1383                 </p>
1384               </th>
1385 <th>
1386                 <p>
1387                   128 Bits
1388                 </p>
1389               </th>
1390 <th>
1391                 <p>
1392                   256 Bits
1393                 </p>
1394               </th>
1395 <th>
1396                 <p>
1397                   512 Bits
1398                 </p>
1399               </th>
1400 <th>
1401                 <p>
1402                   1024 Bits
1403                 </p>
1404               </th>
1405 </tr></thead>
1406 <tbody>
1407 <tr>
1408 <td>
1409                 <p>
1410                   cpp_rational
1411                 </p>
1412               </td>
1413 <td>
1414                 <p>
1415                   1.29695 (5.45454s)
1416                 </p>
1417               </td>
1418 <td>
1419                 <p>
1420                   1.55248 (6.85353s)
1421                 </p>
1422               </td>
1423 <td>
1424                 <p>
1425                   1.93237 (9.28765s)
1426                 </p>
1427               </td>
1428 <td>
1429                 <p>
1430                   2.75211 (14.8541s)
1431                 </p>
1432               </td>
1433 </tr>
1434 <tr>
1435 <td>
1436                 <p>
1437                   mpq_rational
1438                 </p>
1439               </td>
1440 <td>
1441                 <p>
1442                   <span class="bold"><strong>1</strong></span> (4.20568s)
1443                 </p>
1444               </td>
1445 <td>
1446                 <p>
1447                   <span class="bold"><strong>1</strong></span> (4.41458s)
1448                 </p>
1449               </td>
1450 <td>
1451                 <p>
1452                   <span class="bold"><strong>1</strong></span> (4.80635s)
1453                 </p>
1454               </td>
1455 <td>
1456                 <p>
1457                   <span class="bold"><strong>1</strong></span> (5.39734s)
1458                 </p>
1459               </td>
1460 </tr>
1461 </tbody>
1462 </table></div>
1463 </div>
1464 <br class="table-break"><div class="table">
1465 <a name="boost_multiprecision.perf.rational_performance.operator_unsigned_long_long6"></a><p class="title"><b>Table&#160;1.81.&#160;Operator /=(unsigned long long)</b></p>
1466 <div class="table-contents"><table class="table" summary="Operator /=(unsigned long long)">
1467 <colgroup>
1468 <col>
1469 <col>
1470 <col>
1471 <col>
1472 <col>
1473 </colgroup>
1474 <thead><tr>
1475 <th>
1476                 <p>
1477                   Backend
1478                 </p>
1479               </th>
1480 <th>
1481                 <p>
1482                   128 Bits
1483                 </p>
1484               </th>
1485 <th>
1486                 <p>
1487                   256 Bits
1488                 </p>
1489               </th>
1490 <th>
1491                 <p>
1492                   512 Bits
1493                 </p>
1494               </th>
1495 <th>
1496                 <p>
1497                   1024 Bits
1498                 </p>
1499               </th>
1500 </tr></thead>
1501 <tbody>
1502 <tr>
1503 <td>
1504                 <p>
1505                   cpp_rational
1506                 </p>
1507               </td>
1508 <td>
1509                 <p>
1510                   6.19401 (58.4278s)
1511                 </p>
1512               </td>
1513 <td>
1514                 <p>
1515                   6.20135 (59.643s)
1516                 </p>
1517               </td>
1518 <td>
1519                 <p>
1520                   6.21327 (62.0338s)
1521                 </p>
1522               </td>
1523 <td>
1524                 <p>
1525                   6.40576 (67.6778s)
1526                 </p>
1527               </td>
1528 </tr>
1529 <tr>
1530 <td>
1531                 <p>
1532                   mpq_rational
1533                 </p>
1534               </td>
1535 <td>
1536                 <p>
1537                   <span class="bold"><strong>1</strong></span> (9.43295s)
1538                 </p>
1539               </td>
1540 <td>
1541                 <p>
1542                   <span class="bold"><strong>1</strong></span> (9.61774s)
1543                 </p>
1544               </td>
1545 <td>
1546                 <p>
1547                   <span class="bold"><strong>1</strong></span> (9.98407s)
1548                 </p>
1549               </td>
1550 <td>
1551                 <p>
1552                   <span class="bold"><strong>1</strong></span> (10.5652s)
1553                 </p>
1554               </td>
1555 </tr>
1556 </tbody>
1557 </table></div>
1558 </div>
1559 <br class="table-break"><div class="table">
1560 <a name="boost_multiprecision.perf.rational_performance.operator_construct"></a><p class="title"><b>Table&#160;1.82.&#160;Operator construct</b></p>
1561 <div class="table-contents"><table class="table" summary="Operator construct">
1562 <colgroup>
1563 <col>
1564 <col>
1565 <col>
1566 <col>
1567 <col>
1568 </colgroup>
1569 <thead><tr>
1570 <th>
1571                 <p>
1572                   Backend
1573                 </p>
1574               </th>
1575 <th>
1576                 <p>
1577                   128 Bits
1578                 </p>
1579               </th>
1580 <th>
1581                 <p>
1582                   256 Bits
1583                 </p>
1584               </th>
1585 <th>
1586                 <p>
1587                   512 Bits
1588                 </p>
1589               </th>
1590 <th>
1591                 <p>
1592                   1024 Bits
1593                 </p>
1594               </th>
1595 </tr></thead>
1596 <tbody>
1597 <tr>
1598 <td>
1599                 <p>
1600                   cpp_rational
1601                 </p>
1602               </td>
1603 <td>
1604                 <p>
1605                   <span class="bold"><strong>1</strong></span> (0.00978288s)
1606                 </p>
1607               </td>
1608 <td>
1609                 <p>
1610                   <span class="bold"><strong>1</strong></span> (0.0100574s)
1611                 </p>
1612               </td>
1613 <td>
1614                 <p>
1615                   <span class="bold"><strong>1</strong></span> (0.0101393s)
1616                 </p>
1617               </td>
1618 <td>
1619                 <p>
1620                   <span class="bold"><strong>1</strong></span> (0.0101847s)
1621                 </p>
1622               </td>
1623 </tr>
1624 <tr>
1625 <td>
1626                 <p>
1627                   mpq_rational
1628                 </p>
1629               </td>
1630 <td>
1631                 <p>
1632                   39.1516 (0.383015s)
1633                 </p>
1634               </td>
1635 <td>
1636                 <p>
1637                   38.3523 (0.385725s)
1638                 </p>
1639               </td>
1640 <td>
1641                 <p>
1642                   37.5812 (0.381048s)
1643                 </p>
1644               </td>
1645 <td>
1646                 <p>
1647                   37.6007 (0.382953s)
1648                 </p>
1649               </td>
1650 </tr>
1651 </tbody>
1652 </table></div>
1653 </div>
1654 <br class="table-break"><div class="table">
1655 <a name="boost_multiprecision.perf.rational_performance.operator_construct_unsigned"></a><p class="title"><b>Table&#160;1.83.&#160;Operator construct(unsigned)</b></p>
1656 <div class="table-contents"><table class="table" summary="Operator construct(unsigned)">
1657 <colgroup>
1658 <col>
1659 <col>
1660 <col>
1661 <col>
1662 <col>
1663 </colgroup>
1664 <thead><tr>
1665 <th>
1666                 <p>
1667                   Backend
1668                 </p>
1669               </th>
1670 <th>
1671                 <p>
1672                   128 Bits
1673                 </p>
1674               </th>
1675 <th>
1676                 <p>
1677                   256 Bits
1678                 </p>
1679               </th>
1680 <th>
1681                 <p>
1682                   512 Bits
1683                 </p>
1684               </th>
1685 <th>
1686                 <p>
1687                   1024 Bits
1688                 </p>
1689               </th>
1690 </tr></thead>
1691 <tbody>
1692 <tr>
1693 <td>
1694                 <p>
1695                   cpp_rational
1696                 </p>
1697               </td>
1698 <td>
1699                 <p>
1700                   <span class="bold"><strong>1</strong></span> (0.0548151s)
1701                 </p>
1702               </td>
1703 <td>
1704                 <p>
1705                   <span class="bold"><strong>1</strong></span> (0.0557542s)
1706                 </p>
1707               </td>
1708 <td>
1709                 <p>
1710                   <span class="bold"><strong>1</strong></span> (0.055825s)
1711                 </p>
1712               </td>
1713 <td>
1714                 <p>
1715                   <span class="bold"><strong>1</strong></span> (0.0552808s)
1716                 </p>
1717               </td>
1718 </tr>
1719 <tr>
1720 <td>
1721                 <p>
1722                   mpq_rational
1723                 </p>
1724               </td>
1725 <td>
1726                 <p>
1727                   7.21073 (0.395257s)
1728                 </p>
1729               </td>
1730 <td>
1731                 <p>
1732                   7.1016 (0.395944s)
1733                 </p>
1734               </td>
1735 <td>
1736                 <p>
1737                   7.02046 (0.391917s)
1738                 </p>
1739               </td>
1740 <td>
1741                 <p>
1742                   7.16881 (0.396297s)
1743                 </p>
1744               </td>
1745 </tr>
1746 </tbody>
1747 </table></div>
1748 </div>
1749 <br class="table-break"><div class="table">
1750 <a name="boost_multiprecision.perf.rational_performance.operator_construct_unsigned_long"></a><p class="title"><b>Table&#160;1.84.&#160;Operator construct(unsigned long long)</b></p>
1751 <div class="table-contents"><table class="table" summary="Operator construct(unsigned long long)">
1752 <colgroup>
1753 <col>
1754 <col>
1755 <col>
1756 <col>
1757 <col>
1758 </colgroup>
1759 <thead><tr>
1760 <th>
1761                 <p>
1762                   Backend
1763                 </p>
1764               </th>
1765 <th>
1766                 <p>
1767                   128 Bits
1768                 </p>
1769               </th>
1770 <th>
1771                 <p>
1772                   256 Bits
1773                 </p>
1774               </th>
1775 <th>
1776                 <p>
1777                   512 Bits
1778                 </p>
1779               </th>
1780 <th>
1781                 <p>
1782                   1024 Bits
1783                 </p>
1784               </th>
1785 </tr></thead>
1786 <tbody>
1787 <tr>
1788 <td>
1789                 <p>
1790                   cpp_rational
1791                 </p>
1792               </td>
1793 <td>
1794                 <p>
1795                   <span class="bold"><strong>1</strong></span> (0.0605156s)
1796                 </p>
1797               </td>
1798 <td>
1799                 <p>
1800                   <span class="bold"><strong>1</strong></span> (0.0616657s)
1801                 </p>
1802               </td>
1803 <td>
1804                 <p>
1805                   <span class="bold"><strong>1</strong></span> (0.0592056s)
1806                 </p>
1807               </td>
1808 <td>
1809                 <p>
1810                   <span class="bold"><strong>1</strong></span> (0.0603081s)
1811                 </p>
1812               </td>
1813 </tr>
1814 <tr>
1815 <td>
1816                 <p>
1817                   mpq_rational
1818                 </p>
1819               </td>
1820 <td>
1821                 <p>
1822                   35.1604 (2.12775s)
1823                 </p>
1824               </td>
1825 <td>
1826                 <p>
1827                   34.7575 (2.14335s)
1828                 </p>
1829               </td>
1830 <td>
1831                 <p>
1832                   35.7232 (2.11502s)
1833                 </p>
1834               </td>
1835 <td>
1836                 <p>
1837                   35.0437 (2.11342s)
1838                 </p>
1839               </td>
1840 </tr>
1841 </tbody>
1842 </table></div>
1843 </div>
1844 <br class="table-break"><div class="table">
1845 <a name="boost_multiprecision.perf.rational_performance.operator_str"></a><p class="title"><b>Table&#160;1.85.&#160;Operator str</b></p>
1846 <div class="table-contents"><table class="table" summary="Operator str">
1847 <colgroup>
1848 <col>
1849 <col>
1850 <col>
1851 <col>
1852 <col>
1853 </colgroup>
1854 <thead><tr>
1855 <th>
1856                 <p>
1857                   Backend
1858                 </p>
1859               </th>
1860 <th>
1861                 <p>
1862                   128 Bits
1863                 </p>
1864               </th>
1865 <th>
1866                 <p>
1867                   256 Bits
1868                 </p>
1869               </th>
1870 <th>
1871                 <p>
1872                   512 Bits
1873                 </p>
1874               </th>
1875 <th>
1876                 <p>
1877                   1024 Bits
1878                 </p>
1879               </th>
1880 </tr></thead>
1881 <tbody>
1882 <tr>
1883 <td>
1884                 <p>
1885                   cpp_rational
1886                 </p>
1887               </td>
1888 <td>
1889                 <p>
1890                   5.48898 (0.0208949s)
1891                 </p>
1892               </td>
1893 <td>
1894                 <p>
1895                   8.49668 (0.0546688s)
1896                 </p>
1897               </td>
1898 <td>
1899                 <p>
1900                   10.107 (0.121897s)
1901                 </p>
1902               </td>
1903 <td>
1904                 <p>
1905                   10.5339 (0.310584s)
1906                 </p>
1907               </td>
1908 </tr>
1909 <tr>
1910 <td>
1911                 <p>
1912                   mpq_rational
1913                 </p>
1914               </td>
1915 <td>
1916                 <p>
1917                   <span class="bold"><strong>1</strong></span> (0.0038067s)
1918                 </p>
1919               </td>
1920 <td>
1921                 <p>
1922                   <span class="bold"><strong>1</strong></span> (0.00643413s)
1923                 </p>
1924               </td>
1925 <td>
1926                 <p>
1927                   <span class="bold"><strong>1</strong></span> (0.0120606s)
1928                 </p>
1929               </td>
1930 <td>
1931                 <p>
1932                   <span class="bold"><strong>1</strong></span> (0.0294843s)
1933                 </p>
1934               </td>
1935 </tr>
1936 </tbody>
1937 </table></div>
1938 </div>
1939 <br class="table-break"><p>
1940         Test code was compiled with Microsoft Visual Studio 2010 with all optimisations
1941         turned on (/Ox), and used MPIR-2.3.0 and <a href="http://www.mpfr.org" target="_top">MPFR</a>-3.0.0.
1942         The tests were run on 32-bit Windows Vista machine.
1943       </p>
1944 </div>
1945 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
1946 <td align="left"></td>
1947 <td align="right"><div class="copyright-footer">Copyright &#169; 2002-2019 John Maddock
1948       and Christopher Kormanyos<p>
1949         Distributed under the Boost Software License, Version 1.0. (See accompanying
1950         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>)
1951       </p>
1952 </div></td>
1953 </tr></table>
1954 <hr>
1955 <div class="spirit-nav">
1956 <a accesskey="p" href="integer_performance.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="../map.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
1957 </div>
1958 </body>
1959 </html>