perf_over1.html 5.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
  4. <title>Performance</title>
  5. <link rel="stylesheet" href="../math.css" type="text/css">
  6. <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
  7. <link rel="home" href="../index.html" title="Math Toolkit 2.11.0">
  8. <link rel="up" href="../overview.html" title="Chapter&#160;1.&#160;Overview">
  9. <link rel="prev" href="threads.html" title="Thread Safety">
  10. <link rel="next" href="building.html" title="If and How to Build a Boost.Math Library, and its Examples and Tests">
  11. </head>
  12. <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
  13. <table cellpadding="2" width="100%"><tr>
  14. <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
  15. <td align="center"><a href="../../../../../index.html">Home</a></td>
  16. <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
  17. <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
  18. <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
  19. <td align="center"><a href="../../../../../more/index.htm">More</a></td>
  20. </tr></table>
  21. <hr>
  22. <div class="spirit-nav">
  23. <a accesskey="p" href="threads.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.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="building.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.perf_over1"></a><a class="link" href="perf_over1.html" title="Performance">Performance</a>
  28. </h2></div></div></div>
  29. <p>
  30. By and large the performance of this library should be acceptable for most
  31. needs. However, often the library has to make a choice whether to be accurate
  32. or fast and by default it chooses accuracy over speed. If you would rather
  33. have fast rather than fully accurate routines, then refer to the <a class="link" href="../perf.html" title="Chapter&#160;21.&#160;Performance">performance
  34. section</a> for information and examples on how to achieve this.
  35. </p>
  36. <p>
  37. In terms of the algorithms used, this library aims to use the same "best
  38. of breed" algorithms as many other libraries: the principle difference
  39. is that this library is implemented in C++ - taking advantage of all the abstraction
  40. mechanisms that C++ offers - where as most traditional numeric libraries are
  41. implemented in C or FORTRAN. Traditionally languages such as C or FORTRAN are
  42. perceived as easier to optimise than more complex languages like C++, so in
  43. a sense this library provides a good test of current compiler technology, and
  44. the "abstraction penalty" - if any - of C++ compared to other languages.
  45. </p>
  46. <p>
  47. The three most important things you can do to ensure the best performance from
  48. this library are:
  49. </p>
  50. <div class="orderedlist"><ol class="orderedlist" type="1">
  51. <li class="listitem">
  52. Turn on your compilers optimisations: the difference between "release"
  53. and "debug" builds can easily be a <a class="link" href="getting_best.html" title="Getting the Best Performance from this Library: Compiler and Compiler Options">factor
  54. of 20</a>.
  55. </li>
  56. <li class="listitem">
  57. Pick your compiler carefully: <a class="link" href="comp_compilers.html" title="Comparing Different Compilers">performance
  58. differences of up to 8 fold</a> have been found between some Windows
  59. compilers for example.
  60. </li>
  61. <li class="listitem">
  62. Disable internal use of <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>, this will reduce accuracy but typically
  63. yield a 2x speedup on modern x64 hardware/compilers.
  64. </li>
  65. </ol></div>
  66. <p>
  67. The <a class="link" href="../perf.html" title="Chapter&#160;21.&#160;Performance">performance section</a> contains more information
  68. on the performance of this library, what you can do to fine tune it, and how
  69. this library compares to some other open source alternatives.
  70. </p>
  71. </div>
  72. <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
  73. <td align="left"></td>
  74. <td align="right"><div class="copyright-footer">Copyright &#169; 2006-2019 Nikhar
  75. Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
  76. Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
  77. R&#229;de, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
  78. Daryle Walker and Xiaogang Zhang<p>
  79. Distributed under the Boost Software License, Version 1.0. (See accompanying
  80. 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>)
  81. </p>
  82. </div></td>
  83. </tr></table>
  84. <hr>
  85. <div class="spirit-nav">
  86. <a accesskey="p" href="threads.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../overview.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="building.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
  87. </div>
  88. </body>
  89. </html>