]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/math/doc/html/math_toolkit/tuning.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / math / doc / html / math_toolkit / tuning.html
CommitLineData
7c673cae
FG
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4<title>Performance Tuning Macros</title>
5<link rel="stylesheet" href="../math.css" type="text/css">
6<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7<link rel="home" href="../index.html" title="Math Toolkit 2.5.1">
8<link rel="up" href="../perf.html" title="Chapter&#160;16.&#160;Performance">
9<link rel="prev" href="multiprecision.html" title="Cost of High-Precision Non-built-in Floating-point">
10<link rel="next" href="comp_compilers.html" title="Comparing Different Compilers">
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="multiprecision.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="comp_compilers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h2 class="title" style="clear: both">
27<a name="math_toolkit.tuning"></a><a class="link" href="tuning.html" title="Performance Tuning Macros">Performance Tuning Macros</a>
28</h2></div></div></div>
29<p>
30 There are a small number of performance tuning options that are determined
31 by configuration macros. These should be set in boost/math/tools/user.hpp;
32 or else reported to the Boost-development mailing list so that the appropriate
33 option for a given compiler and OS platform can be set automatically in our
34 configuration setup.
35 </p>
36<div class="informaltable"><table class="table">
37<colgroup>
38<col>
39<col>
40</colgroup>
41<thead><tr>
42<th>
43 <p>
44 Macro
45 </p>
46 </th>
47<th>
48 <p>
49 Meaning
50 </p>
51 </th>
52</tr></thead>
53<tbody>
54<tr>
55<td>
56 <p>
57 BOOST_MATH_POLY_METHOD
58 </p>
59 </td>
60<td>
61 <p>
62 Determines how polynomials and most rational functions are evaluated.
63 Define to one of the values 0, 1, 2 or 3: see below for the meaning
64 of these values.
65 </p>
66 </td>
67</tr>
68<tr>
69<td>
70 <p>
71 BOOST_MATH_RATIONAL_METHOD
72 </p>
73 </td>
74<td>
75 <p>
76 Determines how symmetrical rational functions are evaluated: mostly
77 this only effects how the Lanczos approximation is evaluated, and
78 how the <code class="computeroutput"><span class="identifier">evaluate_rational</span></code>
79 function behaves. Define to one of the values 0, 1, 2 or 3: see below
80 for the meaning of these values.
81 </p>
82 </td>
83</tr>
84<tr>
85<td>
86 <p>
87 BOOST_MATH_MAX_POLY_ORDER
88 </p>
89 </td>
90<td>
91 <p>
92 The maximum order of polynomial or rational function that will be
93 evaluated by a method other than 0 (a simple "for" loop).
94 </p>
95 </td>
96</tr>
97<tr>
98<td>
99 <p>
100 BOOST_MATH_INT_TABLE_TYPE(RT, IT)
101 </p>
102 </td>
103<td>
104 <p>
105 Many of the coefficients to the polynomials and rational functions
106 used by this library are integers. Normally these are stored as tables
107 as integers, but if mixed integer / floating point arithmetic is
108 much slower than regular floating point arithmetic then they can
109 be stored as tables of floating point values instead. If mixed arithmetic
110 is slow then add:
111 </p>
112 <p>
113 #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
114 </p>
115 <p>
116 to boost/math/tools/user.hpp, otherwise the default of:
117 </p>
118 <p>
119 #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
120 </p>
121 <p>
122 Set in boost/math/config.hpp is fine, and may well result in smaller
123 code.
124 </p>
125 </td>
126</tr>
127</tbody>
128</table></div>
129<p>
130 The values to which <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
131 and <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>
132 may be set are as follows:
133 </p>
134<div class="informaltable"><table class="table">
135<colgroup>
136<col>
137<col>
138</colgroup>
139<thead><tr>
140<th>
141 <p>
142 Value
143 </p>
144 </th>
145<th>
146 <p>
147 Effect
148 </p>
149 </th>
150</tr></thead>
151<tbody>
152<tr>
153<td>
154 <p>
155 0
156 </p>
157 </td>
158<td>
159 <p>
160 The polynomial or rational function is evaluated using Horner's method,
161 and a simple for-loop.
162 </p>
163 <p>
164 Note that if the order of the polynomial or rational function is
165 a runtime parameter, or the order is greater than the value of <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>, then
166 this method is always used, irrespective of the value of <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code> or <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>.
167 </p>
168 </td>
169</tr>
170<tr>
171<td>
172 <p>
173 1
174 </p>
175 </td>
176<td>
177 <p>
178 The polynomial or rational function is evaluated without the use
179 of a loop, and using Horner's method. This only occurs if the order
180 of the polynomial is known at compile time and is less than or equal
181 to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
182 </p>
183 </td>
184</tr>
185<tr>
186<td>
187 <p>
188 2
189 </p>
190 </td>
191<td>
192 <p>
193 The polynomial or rational function is evaluated without the use
194 of a loop, and using a second order Horner's method. In theory this
195 permits two operations to occur in parallel for polynomials, and
196 four in parallel for rational functions. This only occurs if the
197 order of the polynomial is known at compile time and is less than
198 or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
199 </p>
200 </td>
201</tr>
202<tr>
203<td>
204 <p>
205 3
206 </p>
207 </td>
208<td>
209 <p>
210 The polynomial or rational function is evaluated without the use
211 of a loop, and using a second order Horner's method. In theory this
212 permits two operations to occur in parallel for polynomials, and
213 four in parallel for rational functions. This differs from method
214 "2" in that the code is carefully ordered to make the parallelisation
215 more obvious to the compiler: rather than relying on the compiler's
216 optimiser to spot the parallelisation opportunities. This only occurs
217 if the order of the polynomial is known at compile time and is less
218 than or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
219 </p>
220 </td>
221</tr>
222</tbody>
223</table></div>
224<p>
225 The performance test suite generates a report for your particular compiler
226 showing which method is likely to work best, the following tables show the
227 results for MSVC-14.0 and GCC-5.1.0 (Linux). There's not much to choose between
228 the various methods, but generally loop-unrolled methods perform better. Interestingly,
229 ordering the code to try and "second guess" possible optimizations
230 seems not to be such a good idea (method 3 below).
231 </p>
232<div class="table">
233<a name="math_toolkit.tuning.table_Polynomial_Method_Comparison_with_Microsoft_Visual_C_version_14_0_on_Windows_x64"></a><p class="title"><b>Table&#160;16.3.&#160;Polynomial Method Comparison with Microsoft Visual C++ version 14.0
234 on Windows x64</b></p>
235<div class="table-contents"><table class="table" summary="Polynomial Method Comparison with Microsoft Visual C++ version 14.0
236 on Windows x64">
237<colgroup>
238<col>
239<col>
240<col>
241<col>
242<col>
243<col>
244<col>
245<col>
246<col>
247</colgroup>
248<thead><tr>
249<th>
250 <p>
251 Function
252 </p>
253 </th>
254<th>
255 <p>
256 Method 0<br> (Double Coefficients)
257 </p>
258 </th>
259<th>
260 <p>
261 Method 0<br> (Integer Coefficients)
262 </p>
263 </th>
264<th>
265 <p>
266 Method 1<br> (Double Coefficients)
267 </p>
268 </th>
269<th>
270 <p>
271 Method 1<br> (Integer Coefficients)
272 </p>
273 </th>
274<th>
275 <p>
276 Method 2<br> (Double Coefficients)
277 </p>
278 </th>
279<th>
280 <p>
281 Method 2<br> (Integer Coefficients)
282 </p>
283 </th>
284<th>
285 <p>
286 Method 3<br> (Double Coefficients)
287 </p>
288 </th>
289<th>
290 <p>
291 Method 3<br> (Integer Coefficients)
292 </p>
293 </th>
294</tr></thead>
295<tbody>
296<tr>
297<td>
298 <p>
299 Order 2
300 </p>
301 </td>
302<td>
303 <p>
304 <span class="grey">-</span>
305 </p>
306 </td>
307<td>
308 <p>
309 <span class="grey">-</span>
310 </p>
311 </td>
312<td>
313 <p>
314 <span class="green">1.00<br> (9ns)</span>
315 </p>
316 </td>
317<td>
318 <p>
319 <span class="green">1.00<br> (9ns)</span>
320 </p>
321 </td>
322<td>
323 <p>
324 <span class="green">1.00<br> (9ns)</span>
325 </p>
326 </td>
327<td>
328 <p>
329 <span class="green">1.00<br> (9ns)</span>
330 </p>
331 </td>
332<td>
333 <p>
334 <span class="green">1.00<br> (9ns)</span>
335 </p>
336 </td>
337<td>
338 <p>
339 <span class="green">1.00<br> (9ns)</span>
340 </p>
341 </td>
342</tr>
343<tr>
344<td>
345 <p>
346 Order 3
347 </p>
348 </td>
349<td>
350 <p>
351 <span class="red">2.08<br> (25ns)</span>
352 </p>
353 </td>
354<td>
355 <p>
356 <span class="red">2.75<br> (33ns)</span>
357 </p>
358 </td>
359<td>
360 <p>
361 <span class="green">1.08<br> (13ns)</span>
362 </p>
363 </td>
364<td>
365 <p>
366 <span class="green">1.08<br> (13ns)</span>
367 </p>
368 </td>
369<td>
370 <p>
371 <span class="green">1.08<br> (13ns)</span>
372 </p>
373 </td>
374<td>
375 <p>
376 <span class="green">1.08<br> (13ns)</span>
377 </p>
378 </td>
379<td>
380 <p>
381 <span class="green">1.08<br> (13ns)</span>
382 </p>
383 </td>
384<td>
385 <p>
386 <span class="green">1.00<br> (12ns)</span>
387 </p>
388 </td>
389</tr>
390<tr>
391<td>
392 <p>
393 Order 4
394 </p>
395 </td>
396<td>
397 <p>
398 <span class="red">2.06<br> (35ns)</span>
399 </p>
400 </td>
401<td>
402 <p>
403 <span class="red">2.71<br> (46ns)</span>
404 </p>
405 </td>
406<td>
407 <p>
408 <span class="green">1.06<br> (18ns)</span>
409 </p>
410 </td>
411<td>
412 <p>
413 <span class="green">1.00<br> (17ns)</span>
414 </p>
415 </td>
416<td>
417 <p>
418 <span class="green">1.06<br> (18ns)</span>
419 </p>
420 </td>
421<td>
422 <p>
423 <span class="green">1.06<br> (18ns)</span>
424 </p>
425 </td>
426<td>
427 <p>
428 <span class="green">1.00<br> (17ns)</span>
429 </p>
430 </td>
431<td>
432 <p>
433 <span class="green">1.00<br> (17ns)</span>
434 </p>
435 </td>
436</tr>
437<tr>
438<td>
439 <p>
440 Order 5
441 </p>
442 </td>
443<td>
444 <p>
445 <span class="blue">1.32<br> (29ns)</span>
446 </p>
447 </td>
448<td>
449 <p>
450 <span class="blue">2.00<br> (44ns)</span>
451 </p>
452 </td>
453<td>
454 <p>
455 <span class="green">1.00<br> (22ns)</span>
456 </p>
457 </td>
458<td>
459 <p>
460 <span class="green">1.00<br> (22ns)</span>
461 </p>
462 </td>
463<td>
464 <p>
465 <span class="green">1.05<br> (23ns)</span>
466 </p>
467 </td>
468<td>
469 <p>
470 <span class="green">1.05<br> (23ns)</span>
471 </p>
472 </td>
473<td>
474 <p>
475 <span class="green">1.05<br> (23ns)</span>
476 </p>
477 </td>
478<td>
479 <p>
480 <span class="green">1.05<br> (23ns)</span>
481 </p>
482 </td>
483</tr>
484<tr>
485<td>
486 <p>
487 Order 6
488 </p>
489 </td>
490<td>
491 <p>
492 <span class="blue">1.38<br> (36ns)</span>
493 </p>
494 </td>
495<td>
496 <p>
497 <span class="red">2.04<br> (53ns)</span>
498 </p>
499 </td>
500<td>
501 <p>
502 <span class="green">1.08<br> (28ns)</span>
503 </p>
504 </td>
505<td>
506 <p>
507 <span class="green">1.00<br> (26ns)</span>
508 </p>
509 </td>
510<td>
511 <p>
512 <span class="green">1.08<br> (28ns)</span>
513 </p>
514 </td>
515<td>
516 <p>
517 <span class="green">1.08<br> (28ns)</span>
518 </p>
519 </td>
520<td>
521 <p>
522 <span class="blue">1.35<br> (35ns)</span>
523 </p>
524 </td>
525<td>
526 <p>
527 <span class="blue">1.38<br> (36ns)</span>
528 </p>
529 </td>
530</tr>
531<tr>
532<td>
533 <p>
534 Order 7
535 </p>
536 </td>
537<td>
538 <p>
539 <span class="blue">1.43<br> (43ns)</span>
540 </p>
541 </td>
542<td>
543 <p>
544 <span class="red">2.13<br> (64ns)</span>
545 </p>
546 </td>
547<td>
548 <p>
549 <span class="green">1.03<br> (31ns)</span>
550 </p>
551 </td>
552<td>
553 <p>
554 <span class="green">1.00<br> (30ns)</span>
555 </p>
556 </td>
557<td>
558 <p>
559 <span class="green">1.10<br> (33ns)</span>
560 </p>
561 </td>
562<td>
563 <p>
564 <span class="green">1.03<br> (31ns)</span>
565 </p>
566 </td>
567<td>
568 <p>
569 <span class="green">1.10<br> (33ns)</span>
570 </p>
571 </td>
572<td>
573 <p>
574 <span class="green">1.13<br> (34ns)</span>
575 </p>
576 </td>
577</tr>
578<tr>
579<td>
580 <p>
581 Order 8
582 </p>
583 </td>
584<td>
585 <p>
586 <span class="blue">1.65<br> (61ns)</span>
587 </p>
588 </td>
589<td>
590 <p>
591 <span class="red">2.22<br> (82ns)</span>
592 </p>
593 </td>
594<td>
595 <p>
596 <span class="green">1.00<br> (37ns)</span>
597 </p>
598 </td>
599<td>
600 <p>
601 <span class="green">1.08<br> (40ns)</span>
602 </p>
603 </td>
604<td>
605 <p>
606 <span class="green">1.14<br> (42ns)</span>
607 </p>
608 </td>
609<td>
610 <p>
611 <span class="green">1.05<br> (39ns)</span>
612 </p>
613 </td>
614<td>
615 <p>
616 <span class="green">1.08<br> (40ns)</span>
617 </p>
618 </td>
619<td>
620 <p>
621 <span class="green">1.11<br> (41ns)</span>
622 </p>
623 </td>
624</tr>
625<tr>
626<td>
627 <p>
628 Order 9
629 </p>
630 </td>
631<td>
632 <p>
633 <span class="blue">1.39<br> (57ns)</span>
634 </p>
635 </td>
636<td>
637 <p>
638 <span class="red">2.05<br> (84ns)</span>
639 </p>
640 </td>
641<td>
642 <p>
643 <span class="green">1.17<br> (48ns)</span>
644 </p>
645 </td>
646<td>
647 <p>
648 <span class="green">1.17<br> (48ns)</span>
649 </p>
650 </td>
651<td>
652 <p>
653 <span class="green">1.00<br> (41ns)</span>
654 </p>
655 </td>
656<td>
657 <p>
658 <span class="green">1.05<br> (43ns)</span>
659 </p>
660 </td>
661<td>
662 <p>
663 <span class="green">1.15<br> (47ns)</span>
664 </p>
665 </td>
666<td>
667 <p>
668 <span class="green">1.12<br> (46ns)</span>
669 </p>
670 </td>
671</tr>
672<tr>
673<td>
674 <p>
675 Order 10
676 </p>
677 </td>
678<td>
679 <p>
680 <span class="blue">1.37<br> (63ns)</span>
681 </p>
682 </td>
683<td>
684 <p>
685 <span class="red">2.20<br> (101ns)</span>
686 </p>
687 </td>
688<td>
689 <p>
690 <span class="blue">1.22<br> (56ns)</span>
691 </p>
692 </td>
693<td>
694 <p>
695 <span class="blue">1.24<br> (57ns)</span>
696 </p>
697 </td>
698<td>
699 <p>
700 <span class="green">1.00<br> (46ns)</span>
701 </p>
702 </td>
703<td>
704 <p>
705 <span class="green">1.00<br> (46ns)</span>
706 </p>
707 </td>
708<td>
709 <p>
710 <span class="green">1.17<br> (54ns)</span>
711 </p>
712 </td>
713<td>
714 <p>
715 <span class="green">1.17<br> (54ns)</span>
716 </p>
717 </td>
718</tr>
719<tr>
720<td>
721 <p>
722 Order 11
723 </p>
724 </td>
725<td>
726 <p>
727 <span class="blue">1.59<br> (78ns)</span>
728 </p>
729 </td>
730<td>
731 <p>
732 <span class="red">2.24<br> (110ns)</span>
733 </p>
734 </td>
735<td>
736 <p>
737 <span class="blue">1.37<br> (67ns)</span>
738 </p>
739 </td>
740<td>
741 <p>
742 <span class="blue">1.29<br> (63ns)</span>
743 </p>
744 </td>
745<td>
746 <p>
747 <span class="blue">1.22<br> (60ns)</span>
748 </p>
749 </td>
750<td>
751 <p>
752 <span class="green">1.00<br> (49ns)</span>
753 </p>
754 </td>
755<td>
756 <p>
757 <span class="blue">1.22<br> (60ns)</span>
758 </p>
759 </td>
760<td>
761 <p>
762 <span class="blue">1.22<br> (60ns)</span>
763 </p>
764 </td>
765</tr>
766<tr>
767<td>
768 <p>
769 Order 12
770 </p>
771 </td>
772<td>
773 <p>
774 <span class="blue">1.46<br> (83ns)</span>
775 </p>
776 </td>
777<td>
778 <p>
779 <span class="red">2.16<br> (123ns)</span>
780 </p>
781 </td>
782<td>
783 <p>
784 <span class="blue">1.28<br> (73ns)</span>
785 </p>
786 </td>
787<td>
788 <p>
789 <span class="blue">1.26<br> (72ns)</span>
790 </p>
791 </td>
792<td>
793 <p>
794 <span class="green">1.02<br> (58ns)</span>
795 </p>
796 </td>
797<td>
798 <p>
799 <span class="green">1.00<br> (57ns)</span>
800 </p>
801 </td>
802<td>
803 <p>
804 <span class="green">1.07<br> (61ns)</span>
805 </p>
806 </td>
807<td>
808 <p>
809 <span class="green">1.05<br> (60ns)</span>
810 </p>
811 </td>
812</tr>
813<tr>
814<td>
815 <p>
816 Order 13
817 </p>
818 </td>
819<td>
820 <p>
821 <span class="blue">1.61<br> (90ns)</span>
822 </p>
823 </td>
824<td>
825 <p>
826 <span class="red">2.55<br> (143ns)</span>
827 </p>
828 </td>
829<td>
830 <p>
831 <span class="blue">1.32<br> (74ns)</span>
832 </p>
833 </td>
834<td>
835 <p>
836 <span class="blue">1.39<br> (78ns)</span>
837 </p>
838 </td>
839<td>
840 <p>
841 <span class="green">1.04<br> (58ns)</span>
842 </p>
843 </td>
844<td>
845 <p>
846 <span class="green">1.00<br> (56ns)</span>
847 </p>
848 </td>
849<td>
850 <p>
851 <span class="green">1.11<br> (62ns)</span>
852 </p>
853 </td>
854<td>
855 <p>
856 <span class="green">1.07<br> (60ns)</span>
857 </p>
858 </td>
859</tr>
860<tr>
861<td>
862 <p>
863 Order 14
864 </p>
865 </td>
866<td>
867 <p>
868 <span class="blue">1.61<br> (106ns)</span>
869 </p>
870 </td>
871<td>
872 <p>
873 <span class="red">2.23<br> (147ns)</span>
874 </p>
875 </td>
876<td>
877 <p>
878 <span class="blue">1.45<br> (96ns)</span>
879 </p>
880 </td>
881<td>
882 <p>
883 <span class="blue">1.45<br> (96ns)</span>
884 </p>
885 </td>
886<td>
887 <p>
888 <span class="green">1.02<br> (67ns)</span>
889 </p>
890 </td>
891<td>
892 <p>
893 <span class="green">1.02<br> (67ns)</span>
894 </p>
895 </td>
896<td>
897 <p>
898 <span class="green">1.00<br> (66ns)</span>
899 </p>
900 </td>
901<td>
902 <p>
903 <span class="green">1.09<br> (72ns)</span>
904 </p>
905 </td>
906</tr>
907<tr>
908<td>
909 <p>
910 Order 15
911 </p>
912 </td>
913<td>
914 <p>
915 <span class="blue">1.49<br> (119ns)</span>
916 </p>
917 </td>
918<td>
919 <p>
920 <span class="red">2.10<br> (168ns)</span>
921 </p>
922 </td>
923<td>
924 <p>
925 <span class="blue">1.35<br> (108ns)</span>
926 </p>
927 </td>
928<td>
929 <p>
930 <span class="blue">1.35<br> (108ns)</span>
931 </p>
932 </td>
933<td>
934 <p>
935 <span class="green">1.00<br> (80ns)</span>
936 </p>
937 </td>
938<td>
939 <p>
940 <span class="green">1.00<br> (80ns)</span>
941 </p>
942 </td>
943<td>
944 <p>
945 <span class="green">1.00<br> (80ns)</span>
946 </p>
947 </td>
948<td>
949 <p>
950 <span class="green">1.02<br> (82ns)</span>
951 </p>
952 </td>
953</tr>
954<tr>
955<td>
956 <p>
957 Order 16
958 </p>
959 </td>
960<td>
961 <p>
962 <span class="blue">1.54<br> (129ns)</span>
963 </p>
964 </td>
965<td>
966 <p>
967 <span class="blue">1.99<br> (167ns)</span>
968 </p>
969 </td>
970<td>
971 <p>
972 <span class="blue">1.49<br> (125ns)</span>
973 </p>
974 </td>
975<td>
976 <p>
977 <span class="blue">1.45<br> (122ns)</span>
978 </p>
979 </td>
980<td>
981 <p>
982 <span class="green">1.07<br> (90ns)</span>
983 </p>
984 </td>
985<td>
986 <p>
987 <span class="green">1.00<br> (84ns)</span>
988 </p>
989 </td>
990<td>
991 <p>
992 <span class="green">1.08<br> (91ns)</span>
993 </p>
994 </td>
995<td>
996 <p>
997 <span class="green">1.02<br> (86ns)</span>
998 </p>
999 </td>
1000</tr>
1001<tr>
1002<td>
1003 <p>
1004 Order 17
1005 </p>
1006 </td>
1007<td>
1008 <p>
1009 <span class="blue">1.51<br> (133ns)</span>
1010 </p>
1011 </td>
1012<td>
1013 <p>
1014 <span class="red">2.02<br> (178ns)</span>
1015 </p>
1016 </td>
1017<td>
1018 <p>
1019 <span class="blue">1.57<br> (138ns)</span>
1020 </p>
1021 </td>
1022<td>
1023 <p>
1024 <span class="blue">1.50<br> (132ns)</span>
1025 </p>
1026 </td>
1027<td>
1028 <p>
1029 <span class="green">1.02<br> (90ns)</span>
1030 </p>
1031 </td>
1032<td>
1033 <p>
1034 <span class="green">1.00<br> (88ns)</span>
1035 </p>
1036 </td>
1037<td>
1038 <p>
1039 <span class="green">1.07<br> (94ns)</span>
1040 </p>
1041 </td>
1042<td>
1043 <p>
1044 <span class="green">1.06<br> (93ns)</span>
1045 </p>
1046 </td>
1047</tr>
1048<tr>
1049<td>
1050 <p>
1051 Order 18
1052 </p>
1053 </td>
1054<td>
1055 <p>
1056 <span class="blue">1.53<br> (148ns)</span>
1057 </p>
1058 </td>
1059<td>
1060 <p>
1061 <span class="red">2.16<br> (210ns)</span>
1062 </p>
1063 </td>
1064<td>
1065 <p>
1066 <span class="blue">1.49<br> (145ns)</span>
1067 </p>
1068 </td>
1069<td>
1070 <p>
1071 <span class="blue">1.57<br> (152ns)</span>
1072 </p>
1073 </td>
1074<td>
1075 <p>
1076 <span class="green">1.11<br> (108ns)</span>
1077 </p>
1078 </td>
1079<td>
1080 <p>
1081 <span class="green">1.09<br> (106ns)</span>
1082 </p>
1083 </td>
1084<td>
1085 <p>
1086 <span class="green">1.00<br> (97ns)</span>
1087 </p>
1088 </td>
1089<td>
1090 <p>
1091 <span class="green">1.08<br> (105ns)</span>
1092 </p>
1093 </td>
1094</tr>
1095<tr>
1096<td>
1097 <p>
1098 Order 19
1099 </p>
1100 </td>
1101<td>
1102 <p>
1103 <span class="blue">1.90<br> (194ns)</span>
1104 </p>
1105 </td>
1106<td>
1107 <p>
1108 <span class="red">2.27<br> (232ns)</span>
1109 </p>
1110 </td>
1111<td>
1112 <p>
1113 <span class="blue">1.62<br> (165ns)</span>
1114 </p>
1115 </td>
1116<td>
1117 <p>
1118 <span class="blue">1.62<br> (165ns)</span>
1119 </p>
1120 </td>
1121<td>
1122 <p>
1123 <span class="green">1.08<br> (110ns)</span>
1124 </p>
1125 </td>
1126<td>
1127 <p>
1128 <span class="green">1.00<br> (102ns)</span>
1129 </p>
1130 </td>
1131<td>
1132 <p>
1133 <span class="green">1.17<br> (119ns)</span>
1134 </p>
1135 </td>
1136<td>
1137 <p>
1138 <span class="green">1.19<br> (121ns)</span>
1139 </p>
1140 </td>
1141</tr>
1142<tr>
1143<td>
1144 <p>
1145 Order 20
1146 </p>
1147 </td>
1148<td>
1149 <p>
1150 <span class="blue">1.65<br> (206ns)</span>
1151 </p>
1152 </td>
1153<td>
1154 <p>
1155 <span class="red">2.08<br> (260ns)</span>
1156 </p>
1157 </td>
1158<td>
1159 <p>
1160 <span class="blue">1.45<br> (181ns)</span>
1161 </p>
1162 </td>
1163<td>
1164 <p>
1165 <span class="blue">1.44<br> (180ns)</span>
1166 </p>
1167 </td>
1168<td>
1169 <p>
1170 <span class="green">1.00<br> (125ns)</span>
1171 </p>
1172 </td>
1173<td>
1174 <p>
1175 <span class="green">1.00<br> (125ns)</span>
1176 </p>
1177 </td>
1178<td>
1179 <p>
1180 <span class="green">1.01<br> (126ns)</span>
1181 </p>
1182 </td>
1183<td>
1184 <p>
1185 <span class="green">1.03<br> (129ns)</span>
1186 </p>
1187 </td>
1188</tr>
1189</tbody>
1190</table></div>
1191</div>
1192<br class="table-break"><div class="table">
1193<a name="math_toolkit.tuning.table_Rational_Method_Comparison_with_Microsoft_Visual_C_version_14_0_on_Windows_x64"></a><p class="title"><b>Table&#160;16.4.&#160;Rational Method Comparison with Microsoft Visual C++ version 14.0 on
1194 Windows x64</b></p>
1195<div class="table-contents"><table class="table" summary="Rational Method Comparison with Microsoft Visual C++ version 14.0 on
1196 Windows x64">
1197<colgroup>
1198<col>
1199<col>
1200<col>
1201<col>
1202<col>
1203<col>
1204<col>
1205<col>
1206<col>
1207</colgroup>
1208<thead><tr>
1209<th>
1210 <p>
1211 Function
1212 </p>
1213 </th>
1214<th>
1215 <p>
1216 Method 0<br> (Double Coefficients)
1217 </p>
1218 </th>
1219<th>
1220 <p>
1221 Method 0<br> (Integer Coefficients)
1222 </p>
1223 </th>
1224<th>
1225 <p>
1226 Method 1<br> (Double Coefficients)
1227 </p>
1228 </th>
1229<th>
1230 <p>
1231 Method 1<br> (Integer Coefficients)
1232 </p>
1233 </th>
1234<th>
1235 <p>
1236 Method 2<br> (Double Coefficients)
1237 </p>
1238 </th>
1239<th>
1240 <p>
1241 Method 2<br> (Integer Coefficients)
1242 </p>
1243 </th>
1244<th>
1245 <p>
1246 Method 3<br> (Double Coefficients)
1247 </p>
1248 </th>
1249<th>
1250 <p>
1251 Method 3<br> (Integer Coefficients)
1252 </p>
1253 </th>
1254</tr></thead>
1255<tbody>
1256<tr>
1257<td>
1258 <p>
1259 Order 2
1260 </p>
1261 </td>
1262<td>
1263 <p>
1264 <span class="grey">-</span>
1265 </p>
1266 </td>
1267<td>
1268 <p>
1269 <span class="grey">-</span>
1270 </p>
1271 </td>
1272<td>
1273 <p>
1274 <span class="red">2.12<br> (89ns)</span>
1275 </p>
1276 </td>
1277<td>
1278 <p>
1279 <span class="blue">1.95<br> (82ns)</span>
1280 </p>
1281 </td>
1282<td>
1283 <p>
1284 <span class="green">1.00<br> (42ns)</span>
1285 </p>
1286 </td>
1287<td>
1288 <p>
1289 <span class="green">1.00<br> (42ns)</span>
1290 </p>
1291 </td>
1292<td>
1293 <p>
1294 <span class="green">1.00<br> (42ns)</span>
1295 </p>
1296 </td>
1297<td>
1298 <p>
1299 <span class="green">1.00<br> (42ns)</span>
1300 </p>
1301 </td>
1302</tr>
1303<tr>
1304<td>
1305 <p>
1306 Order 3
1307 </p>
1308 </td>
1309<td>
1310 <p>
1311 <span class="red">2.10<br> (88ns)</span>
1312 </p>
1313 </td>
1314<td>
1315 <p>
1316 <span class="red">2.10<br> (88ns)</span>
1317 </p>
1318 </td>
1319<td>
1320 <p>
1321 <span class="red">2.05<br> (86ns)</span>
1322 </p>
1323 </td>
1324<td>
1325 <p>
1326 <span class="red">2.10<br> (88ns)</span>
1327 </p>
1328 </td>
1329<td>
1330 <p>
1331 <span class="green">1.05<br> (44ns)</span>
1332 </p>
1333 </td>
1334<td>
1335 <p>
1336 <span class="green">1.00<br> (42ns)</span>
1337 </p>
1338 </td>
1339<td>
1340 <p>
1341 <span class="green">1.00<br> (42ns)</span>
1342 </p>
1343 </td>
1344<td>
1345 <p>
1346 <span class="green">1.00<br> (42ns)</span>
1347 </p>
1348 </td>
1349</tr>
1350<tr>
1351<td>
1352 <p>
1353 Order 4
1354 </p>
1355 </td>
1356<td>
1357 <p>
1358 <span class="red">2.12<br> (89ns)</span>
1359 </p>
1360 </td>
1361<td>
1362 <p>
1363 <span class="red">2.21<br> (93ns)</span>
1364 </p>
1365 </td>
1366<td>
1367 <p>
1368 <span class="blue">1.98<br> (83ns)</span>
1369 </p>
1370 </td>
1371<td>
1372 <p>
1373 <span class="red">2.10<br> (88ns)</span>
1374 </p>
1375 </td>
1376<td>
1377 <p>
1378 <span class="green">1.02<br> (43ns)</span>
1379 </p>
1380 </td>
1381<td>
1382 <p>
1383 <span class="green">1.02<br> (43ns)</span>
1384 </p>
1385 </td>
1386<td>
1387 <p>
1388 <span class="green">1.02<br> (43ns)</span>
1389 </p>
1390 </td>
1391<td>
1392 <p>
1393 <span class="green">1.00<br> (42ns)</span>
1394 </p>
1395 </td>
1396</tr>
1397<tr>
1398<td>
1399 <p>
1400 Order 5
1401 </p>
1402 </td>
1403<td>
1404 <p>
1405 <span class="green">1.07<br> (90ns)</span>
1406 </p>
1407 </td>
1408<td>
1409 <p>
1410 <span class="green">1.15<br> (97ns)</span>
1411 </p>
1412 </td>
1413<td>
1414 <p>
1415 <span class="green">1.08<br> (91ns)</span>
1416 </p>
1417 </td>
1418<td>
1419 <p>
1420 <span class="green">1.00<br> (84ns)</span>
1421 </p>
1422 </td>
1423<td>
1424 <p>
1425 <span class="blue">1.45<br> (122ns)</span>
1426 </p>
1427 </td>
1428<td>
1429 <p>
1430 <span class="blue">1.46<br> (123ns)</span>
1431 </p>
1432 </td>
1433<td>
1434 <p>
1435 <span class="blue">1.45<br> (122ns)</span>
1436 </p>
1437 </td>
1438<td>
1439 <p>
1440 <span class="blue">1.45<br> (122ns)</span>
1441 </p>
1442 </td>
1443</tr>
1444<tr>
1445<td>
1446 <p>
1447 Order 6
1448 </p>
1449 </td>
1450<td>
1451 <p>
1452 <span class="green">1.16<br> (102ns)</span>
1453 </p>
1454 </td>
1455<td>
1456 <p>
1457 <span class="blue">1.58<br> (139ns)</span>
1458 </p>
1459 </td>
1460<td>
1461 <p>
1462 <span class="green">1.00<br> (88ns)</span>
1463 </p>
1464 </td>
1465<td>
1466 <p>
1467 <span class="green">1.03<br> (91ns)</span>
1468 </p>
1469 </td>
1470<td>
1471 <p>
1472 <span class="blue">1.44<br> (127ns)</span>
1473 </p>
1474 </td>
1475<td>
1476 <p>
1477 <span class="blue">1.44<br> (127ns)</span>
1478 </p>
1479 </td>
1480<td>
1481 <p>
1482 <span class="blue">1.41<br> (124ns)</span>
1483 </p>
1484 </td>
1485<td>
1486 <p>
1487 <span class="blue">1.38<br> (121ns)</span>
1488 </p>
1489 </td>
1490</tr>
1491<tr>
1492<td>
1493 <p>
1494 Order 7
1495 </p>
1496 </td>
1497<td>
1498 <p>
1499 <span class="blue">1.29<br> (121ns)</span>
1500 </p>
1501 </td>
1502<td>
1503 <p>
1504 <span class="blue">1.44<br> (135ns)</span>
1505 </p>
1506 </td>
1507<td>
1508 <p>
1509 <span class="green">1.01<br> (95ns)</span>
1510 </p>
1511 </td>
1512<td>
1513 <p>
1514 <span class="green">1.00<br> (94ns)</span>
1515 </p>
1516 </td>
1517<td>
1518 <p>
1519 <span class="blue">1.38<br> (130ns)</span>
1520 </p>
1521 </td>
1522<td>
1523 <p>
1524 <span class="blue">1.36<br> (128ns)</span>
1525 </p>
1526 </td>
1527<td>
1528 <p>
1529 <span class="blue">1.33<br> (125ns)</span>
1530 </p>
1531 </td>
1532<td>
1533 <p>
1534 <span class="blue">1.36<br> (128ns)</span>
1535 </p>
1536 </td>
1537</tr>
1538<tr>
1539<td>
1540 <p>
1541 Order 8
1542 </p>
1543 </td>
1544<td>
1545 <p>
1546 <span class="blue">1.33<br> (134ns)</span>
1547 </p>
1548 </td>
1549<td>
1550 <p>
1551 <span class="blue">1.52<br> (154ns)</span>
1552 </p>
1553 </td>
1554<td>
1555 <p>
1556 <span class="green">1.00<br> (101ns)</span>
1557 </p>
1558 </td>
1559<td>
1560 <p>
1561 <span class="green">1.08<br> (109ns)</span>
1562 </p>
1563 </td>
1564<td>
1565 <p>
1566 <span class="blue">1.38<br> (139ns)</span>
1567 </p>
1568 </td>
1569<td>
1570 <p>
1571 <span class="blue">1.31<br> (132ns)</span>
1572 </p>
1573 </td>
1574<td>
1575 <p>
1576 <span class="blue">1.39<br> (140ns)</span>
1577 </p>
1578 </td>
1579<td>
1580 <p>
1581 <span class="blue">1.37<br> (138ns)</span>
1582 </p>
1583 </td>
1584</tr>
1585<tr>
1586<td>
1587 <p>
1588 Order 9
1589 </p>
1590 </td>
1591<td>
1592 <p>
1593 <span class="green">1.18<br> (141ns)</span>
1594 </p>
1595 </td>
1596<td>
1597 <p>
1598 <span class="blue">1.45<br> (172ns)</span>
1599 </p>
1600 </td>
1601<td>
1602 <p>
1603 <span class="green">1.00<br> (119ns)</span>
1604 </p>
1605 </td>
1606<td>
1607 <p>
1608 <span class="green">1.08<br> (128ns)</span>
1609 </p>
1610 </td>
1611<td>
1612 <p>
1613 <span class="green">1.13<br> (135ns)</span>
1614 </p>
1615 </td>
1616<td>
1617 <p>
1618 <span class="blue">1.26<br> (150ns)</span>
1619 </p>
1620 </td>
1621<td>
1622 <p>
1623 <span class="blue">1.26<br> (150ns)</span>
1624 </p>
1625 </td>
1626<td>
1627 <p>
1628 <span class="blue">1.27<br> (151ns)</span>
1629 </p>
1630 </td>
1631</tr>
1632<tr>
1633<td>
1634 <p>
1635 Order 10
1636 </p>
1637 </td>
1638<td>
1639 <p>
1640 <span class="blue">1.29<br> (180ns)</span>
1641 </p>
1642 </td>
1643<td>
1644 <p>
1645 <span class="blue">1.28<br> (178ns)</span>
1646 </p>
1647 </td>
1648<td>
1649 <p>
1650 <span class="green">1.05<br> (146ns)</span>
1651 </p>
1652 </td>
1653<td>
1654 <p>
1655 <span class="green">1.00<br> (139ns)</span>
1656 </p>
1657 </td>
1658<td>
1659 <p>
1660 <span class="green">1.06<br> (147ns)</span>
1661 </p>
1662 </td>
1663<td>
1664 <p>
1665 <span class="green">1.06<br> (147ns)</span>
1666 </p>
1667 </td>
1668<td>
1669 <p>
1670 <span class="green">1.18<br> (164ns)</span>
1671 </p>
1672 </td>
1673<td>
1674 <p>
1675 <span class="green">1.17<br> (163ns)</span>
1676 </p>
1677 </td>
1678</tr>
1679<tr>
1680<td>
1681 <p>
1682 Order 11
1683 </p>
1684 </td>
1685<td>
1686 <p>
1687 <span class="blue">1.28<br> (187ns)</span>
1688 </p>
1689 </td>
1690<td>
1691 <p>
1692 <span class="blue">1.28<br> (187ns)</span>
1693 </p>
1694 </td>
1695<td>
1696 <p>
1697 <span class="green">1.06<br> (155ns)</span>
1698 </p>
1699 </td>
1700<td>
1701 <p>
1702 <span class="green">1.05<br> (154ns)</span>
1703 </p>
1704 </td>
1705<td>
1706 <p>
1707 <span class="green">1.03<br> (151ns)</span>
1708 </p>
1709 </td>
1710<td>
1711 <p>
1712 <span class="green">1.00<br> (146ns)</span>
1713 </p>
1714 </td>
1715<td>
1716 <p>
1717 <span class="green">1.19<br> (174ns)</span>
1718 </p>
1719 </td>
1720<td>
1721 <p>
1722 <span class="blue">1.47<br> (215ns)</span>
1723 </p>
1724 </td>
1725</tr>
1726<tr>
1727<td>
1728 <p>
1729 Order 12
1730 </p>
1731 </td>
1732<td>
1733 <p>
1734 <span class="blue">1.22<br> (197ns)</span>
1735 </p>
1736 </td>
1737<td>
1738 <p>
1739 <span class="blue">1.38<br> (223ns)</span>
1740 </p>
1741 </td>
1742<td>
1743 <p>
1744 <span class="green">1.04<br> (168ns)</span>
1745 </p>
1746 </td>
1747<td>
1748 <p>
1749 <span class="green">1.04<br> (169ns)</span>
1750 </p>
1751 </td>
1752<td>
1753 <p>
1754 <span class="green">1.00<br> (162ns)</span>
1755 </p>
1756 </td>
1757<td>
1758 <p>
1759 <span class="green">1.04<br> (169ns)</span>
1760 </p>
1761 </td>
1762<td>
1763 <p>
1764 <span class="blue">1.22<br> (198ns)</span>
1765 </p>
1766 </td>
1767<td>
1768 <p>
1769 <span class="blue">1.52<br> (246ns)</span>
1770 </p>
1771 </td>
1772</tr>
1773<tr>
1774<td>
1775 <p>
1776 Order 13
1777 </p>
1778 </td>
1779<td>
1780 <p>
1781 <span class="blue">1.23<br> (209ns)</span>
1782 </p>
1783 </td>
1784<td>
1785 <p>
1786 <span class="blue">1.29<br> (220ns)</span>
1787 </p>
1788 </td>
1789<td>
1790 <p>
1791 <span class="green">1.15<br> (196ns)</span>
1792 </p>
1793 </td>
1794<td>
1795 <p>
1796 <span class="green">1.10<br> (187ns)</span>
1797 </p>
1798 </td>
1799<td>
1800 <p>
1801 <span class="green">1.00<br> (170ns)</span>
1802 </p>
1803 </td>
1804<td>
1805 <p>
1806 <span class="green">1.15<br> (196ns)</span>
1807 </p>
1808 </td>
1809<td>
1810 <p>
1811 <span class="blue">1.22<br> (208ns)</span>
1812 </p>
1813 </td>
1814<td>
1815 <p>
1816 <span class="blue">1.61<br> (273ns)</span>
1817 </p>
1818 </td>
1819</tr>
1820<tr>
1821<td>
1822 <p>
1823 Order 14
1824 </p>
1825 </td>
1826<td>
1827 <p>
1828 <span class="blue">1.28<br> (242ns)</span>
1829 </p>
1830 </td>
1831<td>
1832 <p>
1833 <span class="blue">1.39<br> (262ns)</span>
1834 </p>
1835 </td>
1836<td>
1837 <p>
1838 <span class="green">1.15<br> (218ns)</span>
1839 </p>
1840 </td>
1841<td>
1842 <p>
1843 <span class="green">1.14<br> (216ns)</span>
1844 </p>
1845 </td>
1846<td>
1847 <p>
1848 <span class="green">1.00<br> (189ns)</span>
1849 </p>
1850 </td>
1851<td>
1852 <p>
1853 <span class="green">1.01<br> (191ns)</span>
1854 </p>
1855 </td>
1856<td>
1857 <p>
1858 <span class="blue">1.49<br> (282ns)</span>
1859 </p>
1860 </td>
1861<td>
1862 <p>
1863 <span class="blue">1.53<br> (290ns)</span>
1864 </p>
1865 </td>
1866</tr>
1867<tr>
1868<td>
1869 <p>
1870 Order 15
1871 </p>
1872 </td>
1873<td>
1874 <p>
1875 <span class="blue">1.28<br> (260ns)</span>
1876 </p>
1877 </td>
1878<td>
1879 <p>
1880 <span class="blue">1.34<br> (273ns)</span>
1881 </p>
1882 </td>
1883<td>
1884 <p>
1885 <span class="green">1.12<br> (227ns)</span>
1886 </p>
1887 </td>
1888<td>
1889 <p>
1890 <span class="green">1.15<br> (233ns)</span>
1891 </p>
1892 </td>
1893<td>
1894 <p>
1895 <span class="green">1.00<br> (203ns)</span>
1896 </p>
1897 </td>
1898<td>
1899 <p>
1900 <span class="green">1.00<br> (203ns)</span>
1901 </p>
1902 </td>
1903<td>
1904 <p>
1905 <span class="blue">1.38<br> (280ns)</span>
1906 </p>
1907 </td>
1908<td>
1909 <p>
1910 <span class="blue">1.47<br> (298ns)</span>
1911 </p>
1912 </td>
1913</tr>
1914<tr>
1915<td>
1916 <p>
1917 Order 16
1918 </p>
1919 </td>
1920<td>
1921 <p>
1922 <span class="blue">1.35<br> (288ns)</span>
1923 </p>
1924 </td>
1925<td>
1926 <p>
1927 <span class="blue">1.40<br> (300ns)</span>
1928 </p>
1929 </td>
1930<td>
1931 <p>
1932 <span class="blue">1.22<br> (261ns)</span>
1933 </p>
1934 </td>
1935<td>
1936 <p>
1937 <span class="green">1.18<br> (252ns)</span>
1938 </p>
1939 </td>
1940<td>
1941 <p>
1942 <span class="green">1.00<br> (214ns)</span>
1943 </p>
1944 </td>
1945<td>
1946 <p>
1947 <span class="blue">1.23<br> (264ns)</span>
1948 </p>
1949 </td>
1950<td>
1951 <p>
1952 <span class="blue">1.43<br> (305ns)</span>
1953 </p>
1954 </td>
1955<td>
1956 <p>
1957 <span class="blue">1.52<br> (325ns)</span>
1958 </p>
1959 </td>
1960</tr>
1961<tr>
1962<td>
1963 <p>
1964 Order 17
1965 </p>
1966 </td>
1967<td>
1968 <p>
1969 <span class="green">1.16<br> (259ns)</span>
1970 </p>
1971 </td>
1972<td>
1973 <p>
1974 <span class="blue">1.47<br> (328ns)</span>
1975 </p>
1976 </td>
1977<td>
1978 <p>
1979 <span class="green">1.15<br> (256ns)</span>
1980 </p>
1981 </td>
1982<td>
1983 <p>
1984 <span class="blue">1.35<br> (302ns)</span>
1985 </p>
1986 </td>
1987<td>
1988 <p>
1989 <span class="green">1.00<br> (223ns)</span>
1990 </p>
1991 </td>
1992<td>
1993 <p>
1994 <span class="blue">1.22<br> (273ns)</span>
1995 </p>
1996 </td>
1997<td>
1998 <p>
1999 <span class="blue">1.50<br> (334ns)</span>
2000 </p>
2001 </td>
2002<td>
2003 <p>
2004 <span class="blue">1.52<br> (339ns)</span>
2005 </p>
2006 </td>
2007</tr>
2008<tr>
2009<td>
2010 <p>
2011 Order 18
2012 </p>
2013 </td>
2014<td>
2015 <p>
2016 <span class="green">1.10<br> (273ns)</span>
2017 </p>
2018 </td>
2019<td>
2020 <p>
2021 <span class="blue">1.46<br> (363ns)</span>
2022 </p>
2023 </td>
2024<td>
2025 <p>
2026 <span class="green">1.10<br> (273ns)</span>
2027 </p>
2028 </td>
2029<td>
2030 <p>
2031 <span class="blue">1.75<br> (434ns)</span>
2032 </p>
2033 </td>
2034<td>
2035 <p>
2036 <span class="green">1.00<br> (248ns)</span>
2037 </p>
2038 </td>
2039<td>
2040 <p>
2041 <span class="blue">1.30<br> (322ns)</span>
2042 </p>
2043 </td>
2044<td>
2045 <p>
2046 <span class="blue">1.41<br> (349ns)</span>
2047 </p>
2048 </td>
2049<td>
2050 <p>
2051 <span class="blue">1.46<br> (363ns)</span>
2052 </p>
2053 </td>
2054</tr>
2055<tr>
2056<td>
2057 <p>
2058 Order 19
2059 </p>
2060 </td>
2061<td>
2062 <p>
2063 <span class="blue">1.26<br> (330ns)</span>
2064 </p>
2065 </td>
2066<td>
2067 <p>
2068 <span class="blue">1.35<br> (352ns)</span>
2069 </p>
2070 </td>
2071<td>
2072 <p>
2073 <span class="blue">1.24<br> (324ns)</span>
2074 </p>
2075 </td>
2076<td>
2077 <p>
2078 <span class="blue">1.33<br> (348ns)</span>
2079 </p>
2080 </td>
2081<td>
2082 <p>
2083 <span class="green">1.00<br> (261ns)</span>
2084 </p>
2085 </td>
2086<td>
2087 <p>
2088 <span class="blue">1.22<br> (319ns)</span>
2089 </p>
2090 </td>
2091<td>
2092 <p>
2093 <span class="blue">1.44<br> (377ns)</span>
2094 </p>
2095 </td>
2096<td>
2097 <p>
2098 <span class="blue">1.46<br> (381ns)</span>
2099 </p>
2100 </td>
2101</tr>
2102<tr>
2103<td>
2104 <p>
2105 Order 20
2106 </p>
2107 </td>
2108<td>
2109 <p>
2110 <span class="blue">1.24<br> (330ns)</span>
2111 </p>
2112 </td>
2113<td>
2114 <p>
2115 <span class="blue">1.60<br> (427ns)</span>
2116 </p>
2117 </td>
2118<td>
2119 <p>
2120 <span class="blue">1.22<br> (327ns)</span>
2121 </p>
2122 </td>
2123<td>
2124 <p>
2125 <span class="blue">1.56<br> (416ns)</span>
2126 </p>
2127 </td>
2128<td>
2129 <p>
2130 <span class="green">1.00<br> (267ns)</span>
2131 </p>
2132 </td>
2133<td>
2134 <p>
2135 <span class="green">1.19<br> (317ns)</span>
2136 </p>
2137 </td>
2138<td>
2139 <p>
2140 <span class="blue">1.57<br> (418ns)</span>
2141 </p>
2142 </td>
2143<td>
2144 <p>
2145 <span class="blue">1.56<br> (416ns)</span>
2146 </p>
2147 </td>
2148</tr>
2149</tbody>
2150</table></div>
2151</div>
2152<br class="table-break"><p>
2153 [table_Polynomial_Method_Comparison_with_GNU_C_version_5_1_0_on_linux]
2154 </p>
2155<p>
2156 [table_Rational_Method_Comparison_with_GNU_C_version_5_1_0_on_linux]
2157 </p>
2158</div>
2159<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
2160<td align="left"></td>
2161<td align="right"><div class="copyright-footer">Copyright &#169; 2006-2010, 2012-2014 Nikhar Agrawal,
2162 Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
2163 Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Johan R&#229;de, Gautam Sewani,
2164 Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang<p>
2165 Distributed under the Boost Software License, Version 1.0. (See accompanying
2166 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>)
2167 </p>
2168</div></td>
2169</tr></table>
2170<hr>
2171<div class="spirit-nav">
2172<a accesskey="p" href="multiprecision.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="comp_compilers.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
2173</div>
2174</body>
2175</html>