Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71457 - in sandbox/local/libs/local/doc/html: . boost_local
From: lorcaminiti_at_[hidden]
Date: 2011-04-23 22:27:43


Author: lcaminiti
Date: 2011-04-23 22:27:42 EDT (Sat, 23 Apr 2011)
New Revision: 71457
URL: http://svn.boost.org/trac/boost/changeset/71457

Log:
Added profiling.
Text files modified:
   sandbox/local/libs/local/doc/html/boost_local/Alternatives.html | 36 +++++++++++++++++++-----------------
   sandbox/local/libs/local/doc/html/boost_local/Implementation.html | 16 ++++++++--------
   sandbox/local/libs/local/doc/html/index.html | 2 +-
   3 files changed, 28 insertions(+), 26 deletions(-)

Modified: sandbox/local/libs/local/doc/html/boost_local/Alternatives.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost_local/Alternatives.html (original)
+++ sandbox/local/libs/local/doc/html/boost_local/Alternatives.html 2011-04-23 22:27:42 EDT (Sat, 23 Apr 2011)
@@ -587,16 +587,17 @@
         the different alternatives.
       </p>
 <p>
- This library has compile-times and generates binary size similar to the ones
- of the other approaches. This library run-times on ISO C++ compliant compilers
- "Boost.Local
- Compliant" were measured to be similar to "Local Functor"
+ This library has compile-times and generates binary sizes similar to the
+ ones of the other approaches. This library run-times on ISO C++ compliant
+ compilers (see "Boost.Local
+ Compliant" below) were measured to be similar to "Local Functor"
         but larger than other approaches like "Global Functor", "Boost.Lambda",
         or "Boost.Phoenix"
         when compiler optimization is enabled. However, on C++03 compilers (e.g.,
- MSVC) this library generates optimized code "Boost.Local"
- that runs as fast as the fastest of the other approaches. Finally, this library
- run-times are always among the fastest when no compiler optimization is used.
+ MSVC) this library generates optimized code (see "Boost.Local"
+ below) that runs as fast as the fastest of the other approaches. Finally,
+ this library run-times are always among the fastest when no compiler optimization
+ is used.
       </p>
 <div class="note"><table border="0" summary="Note">
 <tr>
@@ -614,18 +615,19 @@
           allows the compiler to inline all the function calls.
         </p>
 <p>
- This performance hit on non C++03 compilers might or not be a problem depending
- on the performance requirements of your application. For example, your
- application might already be using a number of indirect function calls
- (function pointers, virtual functions, etc) because of which the overload
- added by using the one extra function pointer required by the local function
- might not be noticeable within your overall program run-time.
+ This run-time performance cost on non C++03 compilers might or not be a
+ problem depending on the performance requirements of your application.
+ For example, your application might already be using a number of indirect
+ function calls (function pointers, virtual functions, etc) for which the
+ overhead added by using the one extra function pointer required by the
+ local function call might not be noticeable within your overall program
+ run-time.
         </p>
 </td></tr>
 </table></div>
 <p>
         Finally, note that a very simple local function body with only one instruction
- was used for this profiling (see files profile_boost_local.cpp,
+ was used for the profiling presented here (see files profile_boost_local.cpp,
         <a href="../../../example/profile_boost_local_for_loop.cpp" target="_top"><code class="literal">profile_boost_local_for_loop.cpp</code></a>,
         <a href="../../../example/profile_boost_local_optimized.cpp" target="_top"><code class="literal">profile_boost_local_optimized.cpp</code></a>,
         <a href="../../../example/profile_local_functor.cpp" target="_top"><code class="literal">profile_local_functor.cpp</code></a>,
@@ -633,9 +635,9 @@
         <a href="../../../example/profile_0x_lambda.cpp" target="_top"><code class="literal">profile_0x_lambda.cpp</code></a>,
         <a href="../../../example/profile_boost_lambda.cpp" target="_top"><code class="literal">profile_boost_lambda.cpp</code></a>,
         and profile_boost_phoenix.cpp).
- It has not been studied how this library and the other approaches will perform
- with respect to each other when a more complex set of instructions is programmed
- by the local function body.
+ The authors have not studied how this library and the other approaches will
+ perform with respect to each other when a more complex set of instructions
+ is programmed for the local function body.
       </p>
 <div class="informaltable"><table class="table">
 <colgroup>

Modified: sandbox/local/libs/local/doc/html/boost_local/Implementation.html
==============================================================================
--- sandbox/local/libs/local/doc/html/boost_local/Implementation.html (original)
+++ sandbox/local/libs/local/doc/html/boost_local/Implementation.html 2011-04-23 22:27:42 EDT (Sat, 23 Apr 2011)
@@ -226,8 +226,7 @@
         cannot be passed as template parameter (for example to the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each</span></code>
         algorithm), this is instead possible on C++03 and later standards. To work
         around this limitation, this library investigated the following two tricks
- (both these approaches can be extended to support eventual function default
- parameters):
+ (both tricks can be extended to support eventual function default parameters):
       </p>
 <div class="orderedlist"><ol class="orderedlist" type="1">
 <li class="listitem">
@@ -316,13 +315,14 @@
 <p>
         The casting functor trick had slightly better run-time performances than
         the virtual functor trick so the current implementation of this library uses
- the casting functor trick. However, both methods do not allow for compiler
+ the casting functor trick. However, both tricks do not allow for compiler
         optimizations that inline the local function calls because they rely on one
- indirect function call (via either a function pointer or a virtual function)
- that can only be resolved at run-time. Therefore, on C++03 compilers this
- library generates code that passes the local class functor as template parameter
- directly without using neither one of these two tricks in order to take full
- advantage of compiler optimizations that inline the local function calls.
+ indirect function call (via either a function pointer or a virtual function
+ respectively) that can only be resolved at run-time. Therefore, on C++03
+ compilers this library generates code that passes the local class functor
+ as template parameter directly without using neither one of these two tricks
+ in order to take full advantage of compiler optimizations that inline the
+ local function calls.
       </p>
 </div>
 <div class="section">

Modified: sandbox/local/libs/local/doc/html/index.html
==============================================================================
--- sandbox/local/libs/local/doc/html/index.html (original)
+++ sandbox/local/libs/local/doc/html/index.html 2011-04-23 22:27:42 EDT (Sat, 23 Apr 2011)
@@ -416,7 +416,7 @@
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: April 24, 2011 at 02:05:22 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 24, 2011 at 02:27:41 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk