$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r59822 - in sandbox/tokenmap/libs/tokenmap/doc: . html html/tokenmap
From: sl_at_[hidden]
Date: 2010-02-21 15:23:45
Author: sl_
Date: 2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
New Revision: 59822
URL: http://svn.boost.org/trac/boost/changeset/59822
Log:
performance comp
Text files modified: 
   sandbox/tokenmap/libs/tokenmap/doc/html/index.html                      |     5 +--                                     
   sandbox/tokenmap/libs/tokenmap/doc/html/standalone_HTML.manifest        |     1                                         
   sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/acknowledgements_.html |     6 ++--                                    
   sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/examples_.html         |    46 ++++++++++++++++++++++++++++++++++++++- 
   sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/performance_.html      |    21 ++++++++++++++++-                       
   sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/quick_tutorial.html    |     4 +-                                      
   sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/rationale_.html        |    20 +++++++++++++----                       
   sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/reference.html         |    10 ++++----                                
   sandbox/tokenmap/libs/tokenmap/doc/tokenmap.qbk                         |    34 +++++++++++++++++++++++++++-            
   9 files changed, 122 insertions(+), 25 deletions(-)
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/index.html
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/index.html	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/index.html	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -27,7 +27,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright © 2009 Slawomir Lisznianski</p></div>
 <div><div class="legalnotice">
-<a name="id477452"></a><p>
+<a name="id563093"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -42,7 +42,6 @@
 <dt><span class="section">Performance </span></dt>
 <dt><span class="section">Examples </span></dt>
 <dt><span class="section">Rationale </span></dt>
-<dt><span class="section">Future Work </span></dt>
 <dt><span class="section">Acknowledgements </span></dt>
 </dl>
 </div>
@@ -67,7 +66,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: February 21, 2010 at 19:46:48 GMT</small></p></td>
+<td align="left"><p><small>Last revised: February 21, 2010 at 20:23:17 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/standalone_HTML.manifest
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/standalone_HTML.manifest	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/standalone_HTML.manifest	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -4,5 +4,4 @@
 tokenmap/performance_.html
 tokenmap/examples_.html
 tokenmap/rationale_.html
-tokenmap/future_work_.html
 tokenmap/acknowledgements_.html
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/acknowledgements_.html
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/acknowledgements_.html	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/acknowledgements_.html	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../index.html" title="Chapter 1. Boost.Tokenmap">
 <link rel="up" href="../index.html" title="Chapter 1. Boost.Tokenmap">
-<link rel="prev" href="future_work_.html" title="Future Work">
+<link rel="prev" href="rationale_.html" title="Rationale">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -19,7 +19,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="future_work_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
+<a accesskey="p" href="rationale_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
 </div>
 <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tokenmap.acknowledgements_"></a><a class="link" href="acknowledgements_.html" title="Acknowledgements">Acknowledgements </a>
@@ -34,7 +34,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="future_work_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
+<a accesskey="p" href="rationale_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a>
 </div>
 </body>
 </html>
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/examples_.html
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/examples_.html	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/examples_.html	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -22,9 +22,51 @@
 <div class="spirit-nav">
 <a accesskey="p" href="performance_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rationale_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tokenmap.examples_"></a><a class="link" href="examples_.html" title="Examples">Examples </a>
-</h2></div></div></div></div>
+</h2></div></div></div>
+<p>
+      In the folder libs/tokenmap/example you
+      can find all the examples used in tokenmap documentation. Here is a list of
+      them:
+    </p>
+<div class="table">
+<a name="id573346"></a><p class="title"><b>Table 1.1. Tutorial examples</b></p>
+<div class="table-contents"><table class="table" summary="Tutorial examples">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+              <p>
+                Program
+              </p>
+            </th>
+<th>
+              <p>
+                Description
+              </p>
+            </th>
+</tr></thead>
+<tbody><tr>
+<td>
+              <p>
+                <a href="../../../example/simple_tokenmap.cpp" target="_top">simple_tokenmap.cpp
+                </a>
+              </p>
+            </td>
+<td>
+              <p>
+                Basic operations example
+              </p>
+            </td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
 <td align="right"><div class="copyright-footer">Copyright © 2009 Slawomir Lisznianski<p>
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/performance_.html
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/performance_.html	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/performance_.html	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -22,9 +22,26 @@
 <div class="spirit-nav">
 <a accesskey="p" href="reference.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tokenmap.performance_"></a><a class="link" href="performance_.html" title="Performance">Performance </a>
-</h2></div></div></div></div>
+</h2></div></div></div>
+<p>
+      (this section requires far more work)
+    </p>
+<p>
+      Below is a comparison of insertions and lookups, compiled with gcc 4.4.1:
+    </p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">map</span><span class="special"><</span><span class="identifier">token</span><span class="special">,</span> <span class="identifier">session</span><span class="special">*></span> <span class="identifier">map_type</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">tokenmap</span><span class="special"><</span><span class="identifier">session</span><span class="special">,</span> <span class="identifier">uint32_t</span><span class="special">></span> <span class="identifier">token_type</span><span class="special">;</span>
+
+<span class="identifier">tokenmap</span> <span class="identifier">insert</span><span class="special">:</span> <span class="number">0.107066</span> <span class="identifier">usecs</span> <span class="identifier">per</span> <span class="identifier">op</span>
+<span class="identifier">stdmap</span> <span class="identifier">insert</span><span class="special">:</span> <span class="number">0.693195</span> <span class="identifier">usecs</span> <span class="identifier">per</span> <span class="identifier">op</span>
+
+<span class="identifier">tokenmap</span> <span class="identifier">find</span><span class="special">:</span> <span class="number">0.011401</span> <span class="identifier">usecs</span> <span class="identifier">per</span> <span class="identifier">op</span>
+<span class="identifier">stdmap</span> <span class="identifier">find</span><span class="special">:</span> <span class="number">0.344964</span> <span class="identifier">usecs</span> <span class="identifier">per</span> <span class="identifier">op</span>
+</pre>
+</div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
 <td align="right"><div class="copyright-footer">Copyright © 2009 Slawomir Lisznianski<p>
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/quick_tutorial.html
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/quick_tutorial.html	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/quick_tutorial.html	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -67,8 +67,8 @@
 <p>
       Finally, we can remove the element:
     </p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span><span class="special"><</span><span class="identifier">map_type</span><span class="special">::</span><span class="identifier">mapped_type</span><span class="special">></span> <span class="identifier">take_over</span> 
-  <span class="special">=</span> <span class="identifier">names</span><span class="special">.</span><span class="identifier">pop</span><span class="special">(</span> <span class="identifier">rob</span><span class="special">.</span><span class="identifier">first</span> <span class="special">);</span>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span><span class="special"><</span><span class="identifier">map_type</span><span class="special">::</span><span class="identifier">mapped_type</span><span class="special">></span> <span class="identifier">take_over</span> <span class="special">=</span> 
+    <span class="identifier">names</span><span class="special">.</span><span class="identifier">pop</span><span class="special">(</span> <span class="identifier">rob</span><span class="special">.</span><span class="identifier">first</span> <span class="special">);</span>
 </pre>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/rationale_.html
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/rationale_.html	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/rationale_.html	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -7,7 +7,7 @@
 <link rel="start" href="../index.html" title="Chapter 1. Boost.Tokenmap">
 <link rel="up" href="../index.html" title="Chapter 1. Boost.Tokenmap">
 <link rel="prev" href="examples_.html" title="Examples">
-<link rel="next" href="future_work_.html" title="Future Work">
+<link rel="next" href="acknowledgements_.html" title="Acknowledgements">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,11 +20,21 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="future_work_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="tokenmap.rationale_"></a><a class="link" href="rationale_.html" title="Rationale">Rationale </a>
-</h2></div></div></div></div>
+</h2></div></div></div>
+<p>
+      Network applications often require keeping track of sessions where a "session
+      key" is exchanged between a server and a client. The server then keeps
+      track of the client's state by having the session key mapped to an in-memory
+      "session object". Today, developers often use <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">map</span></code> for
+      this purpose, which has sub-optimal performance and requires users to come
+      up with sufficiently hard to guess random keys.
+    </p>
+</div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
 <td align="right"><div class="copyright-footer">Copyright © 2009 Slawomir Lisznianski<p>
@@ -35,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="examples_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="future_work_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="examples_.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="acknowledgements_.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
Modified: sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/reference.html
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/reference.html	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/html/tokenmap/reference.html	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -27,7 +27,7 @@
 <a name="tokenmap.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
 </h2></div></div></div>
 <a name="tokenmap.reference.headers"></a><h4>
-<a name="id486700"></a>
+<a name="id572341"></a>
       <a class="link" href="reference.html#tokenmap.reference.headers">Headers</a>
     </h4>
 <p>
@@ -36,7 +36,7 @@
       to boost namespace.
     </p>
 <a name="tokenmap.reference.synopsis"></a><h4>
-<a name="id486727"></a>
+<a name="id572368"></a>
       <a class="link" href="reference.html#tokenmap.reference.synopsis">Synopsis</a>
     </h4>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
@@ -83,15 +83,15 @@
 </span><span class="special">}</span> <span class="comment">// namespace boost
 </span></pre>
 <a name="tokenmap.reference.class_template_tokenmap"></a><h4>
-<a name="id487314"></a>
+<a name="id572955"></a>
       <a class="link" href="reference.html#tokenmap.reference.class_template_tokenmap">Class template tokenmap</a>
     </h4>
 <a name="tokenmap.reference.nested_types"></a><h4>
-<a name="id487329"></a>
+<a name="id572969"></a>
       <a class="link" href="reference.html#tokenmap.reference.nested_types">Nested types</a>
     </h4>
 <a name="tokenmap.reference.constructors__copy_and_assignment"></a><h4>
-<a name="id487343"></a>
+<a name="id572984"></a>
       <a class="link" href="reference.html#tokenmap.reference.constructors__copy_and_assignment">Constructors,
       copy and assignment</a>
     </h4>
Modified: sandbox/tokenmap/libs/tokenmap/doc/tokenmap.qbk
==============================================================================
--- sandbox/tokenmap/libs/tokenmap/doc/tokenmap.qbk	(original)
+++ sandbox/tokenmap/libs/tokenmap/doc/tokenmap.qbk	2010-02-21 15:23:44 EST (Sun, 21 Feb 2010)
@@ -216,15 +216,45 @@
 [endsect]
 
 [section Performance ]
+
+(this section requires far more work)
+
+Below is a comparison of insertions and lookups, compiled with gcc 4.4.1: 
+
+    typedef map<token, session*> map_type;
+    typedef tokenmap<session, uint32_t> token_type;
+
+    tokenmap insert: 0.107066 usecs per op
+    stdmap insert: 0.693195 usecs per op
+
+    tokenmap find: 0.011401 usecs per op
+    stdmap find: 0.344964 usecs per op
+
 [endsect]
 
 [section Examples ]
+
+In the folder [@../../example libs/tokenmap/example] you can find all the examples
+used in tokenmap documentation. Here is a list of them:
+
+[table Tutorial examples
+[[Program                          ][Description                          ]]
+
+[[[@../../example/simple_tokenmap.cpp
+    simple_tokenmap.cpp                                                   ]]
+    [Basic operations example                                             ]]
+]
+
 [endsect]
 
 [section Rationale ]
-[endsect]
 
-[section Future Work ]
+Network applications often require keeping track of sessions where a "session key" is 
+exchanged between a server and a client. The server then keeps track of the client's 
+state by having the session key mapped to an in-memory "session object". 
+Today, developers often use `std::map` for this purpose, which has sub-optimal 
+performance and requires users to come up with sufficiently hard to guess random keys.
+
 [endsect]
 
 [section Acknowledgements ]