Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r54053 - sandbox/monotonic/libs/monotonic/test
From: christian.schladetsch_at_[hidden]
Date: 2009-06-18 06:23:15


Author: cschladetsch
Date: 2009-06-18 06:23:15 EDT (Thu, 18 Jun 2009)
New Revision: 54053
URL: http://svn.boost.org/trac/boost/changeset/54053

Log:
fixed ordering of links in storage

Text files modified:
   sandbox/monotonic/libs/monotonic/test/compare_memory_pool.cpp | 63 +++++++++++++++++++--------------------
   sandbox/monotonic/libs/monotonic/test/main.cpp | 4 +-
   sandbox/monotonic/libs/monotonic/test/monotonic.vcproj | 2
   3 files changed, 33 insertions(+), 36 deletions(-)

Modified: sandbox/monotonic/libs/monotonic/test/compare_memory_pool.cpp
==============================================================================
--- sandbox/monotonic/libs/monotonic/test/compare_memory_pool.cpp (original)
+++ sandbox/monotonic/libs/monotonic/test/compare_memory_pool.cpp 2009-06-18 06:23:15 EDT (Thu, 18 Jun 2009)
@@ -7,7 +7,7 @@
         template <class Pool>
         void operator()(size_t length, Pool &pool) const
         {
- fill_n(back_inserter(pool), length, 42);
+ pool.resize(length*rand()/RAND_MAX);
         }
 };
 
@@ -16,15 +16,10 @@
         template <class Pool>
         int operator()(size_t length, Pool &pool) const
         {
- srand(42);
+ pool.resize(length*rand()/RAND_MAX);
                 generate_n(back_inserter(pool), length, rand);
- pool.sort();
- int total = 0;
- BOOST_FOREACH(int n, pool)
- {
- total += n;
- }
- return total;
+ sort(pool.begin(), pool.end());
+ return 0;
         }
 };
 
@@ -44,24 +39,23 @@
 template <class Fun>
 PoolResult compare_memory_pool(size_t count, size_t length, Fun fun)
 {
- //cout << "compare_memory_pool: " << count << ", " << length << endl;
- typedef std::list<int, boost::pool_allocator<int,
+ typedef std::vector<int, boost::pool_allocator<int,
                 boost::default_user_allocator_new_delete,
                 boost::details::pool::null_mutex> > pool_v;
- typedef std::list<int, boost::fast_pool_allocator<int,
+ typedef std::vector<int, boost::fast_pool_allocator<int,
                 boost::default_user_allocator_new_delete,
                 boost::details::pool::null_mutex> > fast_pool_v;
- typedef std::list<int, boost::monotonic::allocator<int> > mono_v;
- typedef std::list<int > std_v;
+ typedef std::vector<int, boost::monotonic::allocator<int> > mono_v;
+ typedef std::vector<int > std_v;
 
         PoolResult result;
 
         // test boost::fast_pool_allocator
         {
                 boost::timer timer;
+ srand(42);
                 for (size_t n = 0; n < count; ++n)
                 {
- srand(42);
                         {
                                 fast_pool_v pool;
                                 fun(length, pool);
@@ -72,9 +66,10 @@
         }
 
         // test boost::pool_allocator. dont bother for larger sizes as it is known to be slow
- if (length < 3000)
+ if (1)//length < 3000)
         {
                 boost::timer timer;
+ srand(42);
                 for (size_t n = 0; n < count; ++n)
                 {
                         {
@@ -92,6 +87,7 @@
 
         // test monotonic
         {
+ srand(42);
                 boost::timer timer;
                 for (size_t n = 0; n < count; ++n)
                 {
@@ -106,7 +102,9 @@
 
 
         // test local monotonic
+ if (0)
         {
+ srand(42);
                 monotonic::local<monotonic::storage<100000> > storage;
                 boost::timer timer;
                 for (size_t n = 0; n < count; ++n)
@@ -123,6 +121,7 @@
         // test std
         if (1)
         {
+ srand(42);
                 boost::timer timer;
                 for (size_t n = 0; n < count; ++n)
                 {
@@ -144,10 +143,10 @@
 PoolResults compare_memory_pool(size_t count, size_t max_length, size_t num_iterations, Fun fun)
 {
         PoolResults results;
- //results[5] = compare_memory_pool(count*100, 5, fun);
- //results[20] = compare_memory_pool(count*100, 20, fun);
- //results[50] = compare_memory_pool(count*100, 50, fun);
- //results[100] = compare_memory_pool(count*100, 100, fun);
+ results[5] = compare_memory_pool(count*100, 5, fun);
+ results[20] = compare_memory_pool(count*100, 20, fun);
+ results[50] = compare_memory_pool(count*100, 50, fun);
+ results[100] = compare_memory_pool(count*100, 100, fun);
 
         for (size_t length = 10; length < max_length; length += max_length/num_iterations)
         {
@@ -159,24 +158,22 @@
 void compare_memory_pool()
 {
         size_t num_outter_loops = 1000;
-/*
- PoolResults r0 = compare_memory_pool(num_outter_loops, 10000, 10, thrash_pool());
+ PoolResults r0 = compare_memory_pool(num_outter_loops, 20000, 10, thrash_pool());
         cout << "thrash_pool" << endl;
- cout << "count\t" << "fast_p\t" << "pool\t" << "std\t" << "local\t" << "mono\t" << "fp/mono\t" << "fp/local" << endl;
+ cout << "count\t" << "fast_p\t" << "pool\t" << "std\t" << "mono\t" << "fp/mono\t" << endl;
         BOOST_FOREACH(PoolResults::value_type const &iter, r0)
         {
                 PoolResult const &result = iter.second;
- cout << iter.first << '\t' << result.fast_pool_elapsed << '\t' << result.pool_elapsed << "\t" << result.std_elapsed << '\t' << result.local_mono_elapsed << '\t' << result.mono_elapsed << '\t' << 100.*result.fast_pool_elapsed/result.mono_elapsed << "%\t" << '\t' << 100.*result.fast_pool_elapsed/result.local_mono_elapsed << endl;
- }
-*/
- PoolResults r1 = compare_memory_pool(num_outter_loops, 1000, 10, thrash_pool_sort());
- cout << "thrash_pool_sort" << endl;
- cout << "count\t" << "fast_p\t" << "pool\t" << "std\t" << "local\t" << "mono\t" << "fp/mono\t" << "fp/local" << endl;
- BOOST_FOREACH(PoolResults::value_type const &iter, r1)
- {
- PoolResult const &result = iter.second;
- cout << iter.first << '\t' << result.fast_pool_elapsed << '\t' << result.pool_elapsed << "\t" << result.std_elapsed << '\t' << result.local_mono_elapsed << '\t' << result.mono_elapsed << '\t' << 100.*result.fast_pool_elapsed/result.mono_elapsed << "%\t" << '\t' << 100.*result.fast_pool_elapsed/result.local_mono_elapsed << endl;
+ cout << iter.first << '\t' << result.fast_pool_elapsed << '\t' << result.pool_elapsed << "\t" << result.std_elapsed << '\t' << result.mono_elapsed << '\t' << 100.*result.fast_pool_elapsed/result.mono_elapsed << "%\t" << endl;
         }
+ //PoolResults r1 = compare_memory_pool(num_outter_loops, 1000, 10, thrash_pool_sort());
+ //cout << "thrash_pool_sort" << endl;
+ //cout << "count\t" << "fast_p\t" << "pool\t" << "std\t" << "mono\t" << "fp/mono\t" << endl;
+ //BOOST_FOREACH(PoolResults::value_type const &iter, r1)
+ //{
+ // PoolResult const &result = iter.second;
+ // cout << iter.first << '\t' << result.fast_pool_elapsed << '\t' << result.pool_elapsed << "\t" << result.std_elapsed << '\t' << result.mono_elapsed << '\t' << 100.*result.fast_pool_elapsed/result.mono_elapsed << "%\t" << endl;
+ //}
 }
 
 //EOF

Modified: sandbox/monotonic/libs/monotonic/test/main.cpp
==============================================================================
--- sandbox/monotonic/libs/monotonic/test/main.cpp (original)
+++ sandbox/monotonic/libs/monotonic/test/main.cpp 2009-06-18 06:23:15 EDT (Thu, 18 Jun 2009)
@@ -370,8 +370,8 @@
 #endif
 
         //test_chained_storage();
- test_map_list_heap_stack();
- //compare_memory_pool();
+ //test_map_list_heap_stack();
+ compare_memory_pool();
         //test_mono_map();
         //test_mono_map();
         //test_static_storage();

Modified: sandbox/monotonic/libs/monotonic/test/monotonic.vcproj
==============================================================================
--- sandbox/monotonic/libs/monotonic/test/monotonic.vcproj (original)
+++ sandbox/monotonic/libs/monotonic/test/monotonic.vcproj 2009-06-18 06:23:15 EDT (Thu, 18 Jun 2009)
@@ -123,7 +123,7 @@
                                 EnableFunctionLevelLinking="true"
                                 UsePrecompiledHeader="0"
                                 WarningLevel="3"
- DebugInformationFormat="3"
+ DebugInformationFormat="0"
                         />
                         <Tool
                                 Name="VCManagedResourceCompilerTool"


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