[complement-svn] SF.net SVN: complement: [1743] trunk/complement/explore/lib/sockios/perf
Status: Pre-Alpha
Brought to you by:
complement
From: <com...@us...> - 2007-09-24 19:06:08
|
Revision: 1743 http://complement.svn.sourceforge.net/complement/?rev=1743&view=rev Author: complement Date: 2007-09-24 12:06:03 -0700 (Mon, 24 Sep 2007) Log Message: ----------- rewrite performance tests; still problem with write/read test Modified Paths: -------------- trunk/complement/explore/lib/sockios/perf/perf.cc trunk/complement/explore/lib/sockios/perf/sockios_perf.cc trunk/complement/explore/lib/sockios/perf/sockios_perf.h trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.cc trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.h Modified: trunk/complement/explore/lib/sockios/perf/perf.cc =================================================================== --- trunk/complement/explore/lib/sockios/perf/perf.cc 2007-09-24 19:04:25 UTC (rev 1742) +++ trunk/complement/explore/lib/sockios/perf/perf.cc 2007-09-24 19:06:03 UTC (rev 1743) @@ -13,5 +13,11 @@ int main( int, char ** ) { - return sockios_perf_suite(0); + int flag = 0; + + flag += sockios_perf_suite_b(0); + flag += sockios_perf_suite_c(0); + flag += sockios_perf_suite_d(0); + + return flag; } Modified: trunk/complement/explore/lib/sockios/perf/sockios_perf.cc =================================================================== --- trunk/complement/explore/lib/sockios/perf/sockios_perf.cc 2007-09-24 19:04:25 UTC (rev 1742) +++ trunk/complement/explore/lib/sockios/perf/sockios_perf.cc 2007-09-24 19:06:03 UTC (rev 1743) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <07/09/06 11:17:21 ptr> +// -*- C++ -*- Time-stamp: <07/09/10 22:39:41 ptr> /* * @@ -22,25 +22,7 @@ using namespace std; -sockios_perf::sockios_perf() // : -// fname( "/tmp/sockios_perf.shm" ) -{ -// try { -// seg.allocate( fname.c_str(), 4*4096, xmt::shm_base::create | xmt::shm_base::exclusive, 0600 ); -// } -// catch ( const xmt::shm_bad_alloc& err ) { -// EXAM_ERROR_ASYNC( err.what() ); -// } -} - -sockios_perf::~sockios_perf() -{ -// seg.deallocate(); -// unlink( fname.c_str() ); -} - -/* ************************************************************ */ - +template <int N, int S> class SrvR { public: @@ -52,7 +34,7 @@ void connect( sockstream& s ) { - s.read( buf, 1024*8 ); + s.read( buf, S ); EXAM_CHECK_ASYNC( s.good() ); } @@ -60,17 +42,142 @@ { } private: - char buf[10240]; + char buf[S]; }; +sockmgr_stream_MP<SrvR<32,1638400> > *srv0; +sockmgr_stream_MP<SrvR<1024,51200> > *srv1; +sockmgr_stream_MP<SrvR<4096,12800> > *srv2; +sockmgr_stream_MP<SrvR<6400,8192> > *srv3; +sockmgr_stream_MP<SrvR<12800,4096> > *srv4; +sockmgr_stream_MP<SrvR<25600,2048> > *srv5; +sockmgr_stream_MP<SrvR<51200,1024> > *srv6; +sockmgr_stream_MP<SrvR<102400,512> > *srv7; +sockmgr_stream_MP<SrvR<204800,256> > *srv8; +sockmgr_stream_MP<SrvR<409600,128> > *srv9; +sockmgr_stream_MP<SrvR<819200,64> > *srv10; + +sockios_perf_SrvR::sockios_perf_SrvR() +{ + srv0 = new sockmgr_stream_MP<SrvR<32,1638400> >( 6480 ); + srv1 = new sockmgr_stream_MP<SrvR<1024,51200> >( 6481 ); + srv2 = new sockmgr_stream_MP<SrvR<4096,12800> >( 6482 ); + srv3 = new sockmgr_stream_MP<SrvR<6400,8192> >( 6483 ); + srv4 = new sockmgr_stream_MP<SrvR<12800,4096> >( 6484 ); + srv5 = new sockmgr_stream_MP<SrvR<25600,2048> >( 6485 ); + srv6 = new sockmgr_stream_MP<SrvR<51200,1024> >( 6486 ); + srv7 = new sockmgr_stream_MP<SrvR<102400,512> >( 6487 ); + srv8 = new sockmgr_stream_MP<SrvR<204800,256> >( 6488 ); + srv9 = new sockmgr_stream_MP<SrvR<409600,128> >( 6489 ); + srv10 = new sockmgr_stream_MP<SrvR<819200,64> >( 6490 ); +} + +sockios_perf_SrvR::~sockios_perf_SrvR() +{ + srv0->close(); srv0->wait(); + delete srv0; + srv1->close(); srv1->wait(); + delete srv1; + srv2->close(); srv2->wait(); + delete srv2; + srv3->close(); srv3->wait(); + delete srv3; + srv4->close(); srv4->wait(); + delete srv4; + srv5->close(); srv5->wait(); + delete srv5; + srv6->close(); srv6->wait(); + delete srv6; + srv7->close(); srv7->wait(); + delete srv7; + srv8->close(); srv8->wait(); + delete srv8; + srv9->close(); srv9->wait(); + delete srv9; + srv10->close(); srv10->wait(); + delete srv10; +} + +template <class SRV, int N, int S, int P> +int block_write( SRV& srv ) +{ + int flag = 0; + + EXAM_CHECK_ASYNC_F( srv.good() && srv.is_open(), flag ); + sockstream s( "localhost", P ); + char buf[S]; + // fill( buf, buf + S, ' ' ); + for ( int i = 0; i < N; ++i ) { + s.write( buf, S ).flush(); + EXAM_CHECK_ASYNC_F( s.good(), flag ); + } + + return flag; +} + +int EXAM_IMPL(sockios_perf_SrvR::r1) +{ + return block_write<sockmgr_stream_MP<SrvR<32,1638400> >, 32, 1638400, 6480>( *srv0 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r2) +{ + return block_write<sockmgr_stream_MP<SrvR<1024,51200> >, 1024, 51200, 6481>( *srv1 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r3) +{ + return block_write<sockmgr_stream_MP<SrvR<4096,12800> >, 4096, 12800, 6482>( *srv2 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r4) +{ + return block_write<sockmgr_stream_MP<SrvR<6400,8192> >, 6400, 8192, 6483>( *srv3 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r5) +{ + return block_write<sockmgr_stream_MP<SrvR<12800,4096> >, 12800, 4096, 6484>( *srv4 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r6) +{ + return block_write<sockmgr_stream_MP<SrvR<25600,2048> >, 25600, 2048, 6485>( *srv5 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r7) +{ + return block_write<sockmgr_stream_MP<SrvR<51200,1024> >, 51200, 1024, 6486>( *srv6 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r8) +{ + return block_write<sockmgr_stream_MP<SrvR<102400,512> >, 102400, 512, 6487>( *srv7 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r9) +{ + return block_write<sockmgr_stream_MP<SrvR<204800,256> >, 204800, 256, 6488>( *srv8 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r10) +{ + return block_write<sockmgr_stream_MP<SrvR<409600,128> >, 409600, 128, 6489>( *srv9 ); +} + +int EXAM_IMPL(sockios_perf_SrvR::r11) +{ + return block_write<sockmgr_stream_MP<SrvR<819200,64> >, 819200, 64, 6490>( *srv10 ); +} + +template <int N, int S> class SrvW { public: SrvW( sockstream& s ) { - fill( buf, buf + 10240, ' ' ); - for ( int i = 0; i < 10; ++i ) { - s.write( buf, 1024*8 ); + for ( int i = 0; i < N; ++i ) { + s.write( buf, S ).flush(); EXAM_CHECK_ASYNC( s.good() ); } } @@ -85,9 +192,135 @@ { } private: - char buf[10240]; + char buf[S]; }; +sockmgr_stream_MP<SrvW<32,1638400> > *srvW0; +sockmgr_stream_MP<SrvW<1024,51200> > *srvW1; +sockmgr_stream_MP<SrvW<4096,12800> > *srvW2; +sockmgr_stream_MP<SrvW<6400,8192> > *srvW3; +sockmgr_stream_MP<SrvW<12800,4096> > *srvW4; +sockmgr_stream_MP<SrvW<25600,2048> > *srvW5; +sockmgr_stream_MP<SrvW<51200,1024> > *srvW6; +sockmgr_stream_MP<SrvW<102400,512> > *srvW7; +sockmgr_stream_MP<SrvW<204800,256> > *srvW8; +sockmgr_stream_MP<SrvW<409600,128> > *srvW9; +sockmgr_stream_MP<SrvW<819200,64> > *srvW10; + +sockios_perf_SrvW::sockios_perf_SrvW() +{ + srvW0 = new sockmgr_stream_MP<SrvW<32,1638400> >( 6480 ); + srvW1 = new sockmgr_stream_MP<SrvW<1024,51200> >( 6481 ); + srvW2 = new sockmgr_stream_MP<SrvW<4096,12800> >( 6482 ); + srvW3 = new sockmgr_stream_MP<SrvW<6400,8192> >( 6483 ); + srvW4 = new sockmgr_stream_MP<SrvW<12800,4096> >( 6484 ); + srvW5 = new sockmgr_stream_MP<SrvW<25600,2048> >( 6485 ); + srvW6 = new sockmgr_stream_MP<SrvW<51200,1024> >( 6486 ); + srvW7 = new sockmgr_stream_MP<SrvW<102400,512> >( 6487 ); + srvW8 = new sockmgr_stream_MP<SrvW<204800,256> >( 6488 ); + srvW9 = new sockmgr_stream_MP<SrvW<409600,128> >( 6489 ); + srvW10 = new sockmgr_stream_MP<SrvW<819200,64> >( 6490 ); +} + +sockios_perf_SrvW::~sockios_perf_SrvW() +{ + srvW0->close(); srvW0->wait(); + delete srvW0; + srvW1->close(); srvW1->wait(); + delete srvW1; + srvW2->close(); srvW2->wait(); + delete srvW2; + srvW3->close(); srvW3->wait(); + delete srvW3; + srvW4->close(); srvW4->wait(); + delete srvW4; + srvW5->close(); srvW5->wait(); + delete srvW5; + srvW6->close(); srvW6->wait(); + delete srvW6; + srvW7->close(); srvW7->wait(); + delete srvW7; + srvW8->close(); srvW8->wait(); + delete srvW8; + srvW9->close(); srvW9->wait(); + delete srvW9; + srvW10->close(); srvW10->wait(); + delete srvW10; +} + +template <class SRV, int N, int S, int P> +int block_read( SRV& srv ) +{ + int flag = 0; + + EXAM_CHECK_ASYNC_F( srv.good() && srv.is_open(), flag ); + sockstream s( "localhost", P ); + char buf[S]; + // fill( buf, buf + S, ' ' ); + for ( int i = 0; i < N; ++i ) { + s.read( buf, S ); + EXAM_CHECK_ASYNC_F( s.good(), flag ); + } + + return flag; +} + +int EXAM_IMPL(sockios_perf_SrvW::r1) +{ + return block_read<sockmgr_stream_MP<SrvW<32,1638400> >, 32, 1638400, 6480>( *srvW0 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r2) +{ + return block_read<sockmgr_stream_MP<SrvW<1024,51200> >, 1024, 51200, 6481>( *srvW1 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r3) +{ + return block_read<sockmgr_stream_MP<SrvW<4096,12800> >, 4096, 12800, 6482>( *srvW2 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r4) +{ + return block_read<sockmgr_stream_MP<SrvW<6400,8192> >, 6400, 8192, 6483>( *srvW3 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r5) +{ + return block_read<sockmgr_stream_MP<SrvW<12800,4096> >, 12800, 4096, 6484>( *srvW4 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r6) +{ + return block_read<sockmgr_stream_MP<SrvW<25600,2048> >, 25600, 2048, 6485>( *srvW5 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r7) +{ + return block_read<sockmgr_stream_MP<SrvW<51200,1024> >, 51200, 1024, 6486>( *srvW6 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r8) +{ + return block_read<sockmgr_stream_MP<SrvW<102400,512> >, 102400, 512, 6487>( *srvW7 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r9) +{ + return block_read<sockmgr_stream_MP<SrvW<204800,256> >, 204800, 256, 6488>( *srvW8 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r10) +{ + return block_read<sockmgr_stream_MP<SrvW<409600,128> >, 409600, 128, 6489>( *srvW9 ); +} + +int EXAM_IMPL(sockios_perf_SrvW::r11) +{ + return block_read<sockmgr_stream_MP<SrvW<819200,64> >, 819200, 64, 6490>( *srvW10 ); +} + +template <int N, int S> class SrvRW { public: @@ -99,9 +332,9 @@ void connect( sockstream& s ) { - s.read( buf, 1024*8 ); + s.read( buf, S ); EXAM_CHECK_ASYNC( s.good() ); - s.write( buf, 1024*8 ).flush(); + s.write( buf, S ).flush(); EXAM_CHECK_ASYNC( s.good() ); } @@ -109,80 +342,132 @@ { } private: - char buf[10240]; + char buf[S]; }; -int EXAM_IMPL(sockios_perf::exchange1) +sockmgr_stream_MP<SrvRW<32,1638400> > *srvRW0; +sockmgr_stream_MP<SrvRW<1024,51200> > *srvRW1; +sockmgr_stream_MP<SrvRW<4096,12800> > *srvRW2; +sockmgr_stream_MP<SrvRW<6400,8192> > *srvRW3; +sockmgr_stream_MP<SrvRW<12800,4096> > *srvRW4; +sockmgr_stream_MP<SrvRW<25600,2048> > *srvRW5; +sockmgr_stream_MP<SrvRW<51200,1024> > *srvRW6; +sockmgr_stream_MP<SrvRW<102400,512> > *srvRW7; +sockmgr_stream_MP<SrvRW<204800,256> > *srvRW8; +sockmgr_stream_MP<SrvRW<409600,128> > *srvRW9; +sockmgr_stream_MP<SrvRW<819200,64> > *srvRW10; + +sockios_perf_SrvRW::sockios_perf_SrvRW() { - sockmgr_stream_MP<SrvR> srv( 6480 ); - - { - EXAM_REQUIRE( srv.good() && srv.is_open() ); + srvRW0 = new sockmgr_stream_MP<SrvRW<32,1638400> >( 6480 ); + srvRW1 = new sockmgr_stream_MP<SrvRW<1024,51200> >( 6481 ); + srvRW2 = new sockmgr_stream_MP<SrvRW<4096,12800> >( 6482 ); + srvRW3 = new sockmgr_stream_MP<SrvRW<6400,8192> >( 6483 ); + srvRW4 = new sockmgr_stream_MP<SrvRW<12800,4096> >( 6484 ); + srvRW5 = new sockmgr_stream_MP<SrvRW<25600,2048> >( 6485 ); + srvRW6 = new sockmgr_stream_MP<SrvRW<51200,1024> >( 6486 ); + srvRW7 = new sockmgr_stream_MP<SrvRW<102400,512> >( 6487 ); + srvRW8 = new sockmgr_stream_MP<SrvRW<204800,256> >( 6488 ); + srvRW9 = new sockmgr_stream_MP<SrvRW<409600,128> >( 6489 ); + srvRW10 = new sockmgr_stream_MP<SrvRW<819200,64> >( 6490 ); +} - sockstream s1( "localhost", 6480 ); - char buf[10240]; +sockios_perf_SrvRW::~sockios_perf_SrvRW() +{ + srvRW0->close(); srvRW0->wait(); + delete srvRW0; + srvRW1->close(); srvRW1->wait(); + delete srvRW1; + srvRW2->close(); srvRW2->wait(); + delete srvRW2; + srvRW3->close(); srvRW3->wait(); + delete srvRW3; + srvRW4->close(); srvRW4->wait(); + delete srvRW4; + srvRW5->close(); srvRW5->wait(); + delete srvRW5; + srvRW6->close(); srvRW6->wait(); + delete srvRW6; + srvRW7->close(); srvRW7->wait(); + delete srvRW7; + srvRW8->close(); srvRW8->wait(); + delete srvRW8; + srvRW9->close(); srvRW9->wait(); + delete srvRW9; + srvRW10->close(); srvRW10->wait(); + delete srvRW10; +} - fill( buf, buf + 10240, ' ' ); +template <class SRV, int N, int S, int P> +int block_write_read( SRV& srv ) +{ + int flag = 0; - for ( int i = 0; i < 10; ++i ) { - s1.write( buf, 1024 * 8 ); - EXAM_CHECK_ASYNC( s1.good() ); - } + EXAM_CHECK_ASYNC_F( srv.good() && srv.is_open(), flag ); + sockstream s( "localhost", P ); + char buf[S]; + // fill( buf, buf + S, ' ' ); + for ( int i = 0; i < N; ++i ) { + s.write( buf, S ).flush(); + EXAM_CHECK_ASYNC_F( s.good(), flag ); + s.read( buf, S ); + EXAM_CHECK_ASYNC_F( s.good(), flag ); } - srv.close(); - srv.wait(); + return flag; +} - return EXAM_RESULT; +int EXAM_IMPL(sockios_perf_SrvRW::r1) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<32,1638400> >, 32, 1638400, 6480>( *srvRW0 ); } -int EXAM_IMPL(sockios_perf::exchange2) +int EXAM_IMPL(sockios_perf_SrvRW::r2) { - sockmgr_stream_MP<SrvW> srv( 6480 ); - - { - EXAM_REQUIRE( srv.good() && srv.is_open() ); + return block_write_read<sockmgr_stream_MP<SrvRW<1024,51200> >, 1024, 51200, 6481>( *srvRW1 ); +} - sockstream s1( "localhost", 6480 ); - char buf[10240]; +int EXAM_IMPL(sockios_perf_SrvRW::r3) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<4096,12800> >, 4096, 12800, 6482>( *srvRW2 ); +} - for ( int i = 0; i < 10; ++i ) { - s1.read( buf, 1024 * 8 ); - EXAM_CHECK_ASYNC( s1.good() ); - } - } +int EXAM_IMPL(sockios_perf_SrvRW::r4) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<6400,8192> >, 6400, 8192, 6483>( *srvRW3 ); +} - srv.close(); - srv.wait(); +int EXAM_IMPL(sockios_perf_SrvRW::r5) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<12800,4096> >, 12800, 4096, 6484>( *srvRW4 ); +} - return EXAM_RESULT; +int EXAM_IMPL(sockios_perf_SrvRW::r6) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<25600,2048> >, 25600, 2048, 6485>( *srvRW5 ); } -int EXAM_IMPL(sockios_perf::exchange3) +int EXAM_IMPL(sockios_perf_SrvRW::r7) { - sockmgr_stream_MP<SrvRW> srv( 6480 ); - - { - EXAM_REQUIRE( srv.good() && srv.is_open() ); + return block_write_read<sockmgr_stream_MP<SrvRW<51200,1024> >, 51200, 1024, 6486>( *srvRW6 ); +} - sockstream s1( "localhost", 6480 ); - char buf[10240]; +int EXAM_IMPL(sockios_perf_SrvRW::r8) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<102400,512> >, 102400, 512, 6487>( *srvRW7 ); +} - for ( int i = 0; i < 10; ++i ) { - s1.write( buf, 1024 * 8 ).flush(); - EXAM_CHECK_ASYNC( s1.good() ); - s1.read( buf, 1024 * 8 ); - EXAM_CHECK_ASYNC( s1.good() ); - } - } +int EXAM_IMPL(sockios_perf_SrvRW::r9) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<204800,256> >, 204800, 256, 6488>( *srvRW8 ); +} - srv.close(); - srv.wait(); - - return EXAM_RESULT; +int EXAM_IMPL(sockios_perf_SrvRW::r10) +{ + return block_write_read<sockmgr_stream_MP<SrvRW<409600,128> >, 409600, 128, 6489>( *srvRW9 ); } -xmt::Thread::ret_t client_thr( void *p ) +int EXAM_IMPL(sockios_perf_SrvRW::r11) { - return 0; + return block_write_read<sockmgr_stream_MP<SrvRW<819200,64> >, 819200, 64, 6490>( *srvRW10 ); } Modified: trunk/complement/explore/lib/sockios/perf/sockios_perf.h =================================================================== --- trunk/complement/explore/lib/sockios/perf/sockios_perf.h 2007-09-24 19:04:25 UTC (rev 1742) +++ trunk/complement/explore/lib/sockios/perf/sockios_perf.h 2007-09-24 19:06:03 UTC (rev 1743) @@ -1,4 +1,4 @@ -// -*- C++ -*- Time-stamp: <07/09/06 11:12:29 ptr> +// -*- C++ -*- Time-stamp: <07/09/12 22:57:45 ptr> /* * @@ -16,21 +16,61 @@ #include <string> #include <mt/shm.h> -class sockios_perf +class sockios_perf_SrvR { public: - sockios_perf(); - ~sockios_perf(); + sockios_perf_SrvR(); + ~sockios_perf_SrvR(); - int EXAM_DECL(exchange1); - int EXAM_DECL(exchange2); - int EXAM_DECL(exchange3); + int EXAM_DECL(r1); + int EXAM_DECL(r2); + int EXAM_DECL(r3); + int EXAM_DECL(r4); + int EXAM_DECL(r5); + int EXAM_DECL(r6); + int EXAM_DECL(r7); + int EXAM_DECL(r8); + int EXAM_DECL(r9); + int EXAM_DECL(r10); + int EXAM_DECL(r11); +}; - private: - // const std::string fname; - // xmt::shm_alloc<0> seg; - // xmt::allocator_shm<xmt::__condition<true>,0> shm_cnd; - // xmt::allocator_shm<xmt::__barrier<true>,0> shm_b; +class sockios_perf_SrvW +{ + public: + sockios_perf_SrvW(); + ~sockios_perf_SrvW(); + + int EXAM_DECL(r1); + int EXAM_DECL(r2); + int EXAM_DECL(r3); + int EXAM_DECL(r4); + int EXAM_DECL(r5); + int EXAM_DECL(r6); + int EXAM_DECL(r7); + int EXAM_DECL(r8); + int EXAM_DECL(r9); + int EXAM_DECL(r10); + int EXAM_DECL(r11); }; +class sockios_perf_SrvRW +{ + public: + sockios_perf_SrvRW(); + ~sockios_perf_SrvRW(); + + int EXAM_DECL(r1); + int EXAM_DECL(r2); + int EXAM_DECL(r3); + int EXAM_DECL(r4); + int EXAM_DECL(r5); + int EXAM_DECL(r6); + int EXAM_DECL(r7); + int EXAM_DECL(r8); + int EXAM_DECL(r9); + int EXAM_DECL(r10); + int EXAM_DECL(r11); +}; + #endif // __sockios_perf_h Modified: trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.cc =================================================================== --- trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.cc 2007-09-24 19:04:25 UTC (rev 1742) +++ trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.cc 2007-09-24 19:06:03 UTC (rev 1743) @@ -17,17 +17,68 @@ using namespace std; -int EXAM_IMPL(sockios_perf_suite) +int EXAM_IMPL(sockios_perf_suite_b) { exam::trivial_time_logger tlogger( std::cout ); - exam::test_suite t( "libsockios performance test suite", 10 ); + exam::test_suite t( "libsockios performance test suite 0", 10 ); t.set_logger( &tlogger ); - sockios_perf p; + sockios_perf_SrvR p; + t.add( &sockios_perf_SrvR::r1, p, "client write 32 1638400 bytes blocks" ); + t.add( &sockios_perf_SrvR::r2, p, "client write 1024 51200 bytes blocks" ); + t.add( &sockios_perf_SrvR::r3, p, "client write 4096 12800 bytes blocks" ); + t.add( &sockios_perf_SrvR::r4, p, "client write 6400 8192 bytes blocks" ); + t.add( &sockios_perf_SrvR::r5, p, "client write 12800 4096 bytes blocks" ); + t.add( &sockios_perf_SrvR::r6, p, "client write 25600 2048 bytes blocks" ); + t.add( &sockios_perf_SrvR::r7, p, "client write 51200 1024 bytes blocks" ); + t.add( &sockios_perf_SrvR::r8, p, "client write 102400 512 bytes blocks" ); + t.add( &sockios_perf_SrvR::r9, p, "client write 204800 256 bytes blocks" ); + t.add( &sockios_perf_SrvR::r10, p, "client write 409600 128 bytes blocks" ); + t.add( &sockios_perf_SrvR::r11, p, "client write 819200 64 bytes blocks" ); - t.add( &sockios_perf::exchange1, p, "client write 8K blocks" ); - t.add( &sockios_perf::exchange2, p, "client read 8K blocks" ); - t.add( &sockios_perf::exchange3, p, "client write/read 8K blocks" ); + return t.girdle(); +} +int EXAM_IMPL(sockios_perf_suite_c) +{ + exam::trivial_time_logger tlogger( std::cout ); + exam::test_suite t( "libsockios performance test suite 1", 10 ); + t.set_logger( &tlogger ); + + sockios_perf_SrvW p; + t.add( &sockios_perf_SrvW::r1, p, "client read 32 1638400 bytes blocks" ); + t.add( &sockios_perf_SrvW::r2, p, "client read 1024 51200 bytes blocks" ); + t.add( &sockios_perf_SrvW::r3, p, "client read 4096 12800 bytes blocks" ); + t.add( &sockios_perf_SrvW::r4, p, "client read 6400 8192 bytes blocks" ); + t.add( &sockios_perf_SrvW::r5, p, "client read 12800 4096 bytes blocks" ); + t.add( &sockios_perf_SrvW::r6, p, "client read 25600 2048 bytes blocks" ); + t.add( &sockios_perf_SrvW::r7, p, "client read 51200 1024 bytes blocks" ); + t.add( &sockios_perf_SrvW::r8, p, "client read 102400 512 bytes blocks" ); + t.add( &sockios_perf_SrvW::r9, p, "client read 204800 256 bytes blocks" ); + t.add( &sockios_perf_SrvW::r10, p, "client read 409600 128 bytes blocks" ); + t.add( &sockios_perf_SrvW::r11, p, "client read 819200 64 bytes blocks" ); + return t.girdle(); } + +int EXAM_IMPL(sockios_perf_suite_d) +{ + exam::trivial_time_logger tlogger( std::cout ); + exam::test_suite t( "libsockios performance test suite 2", 10 ); + t.set_logger( &tlogger ); + + sockios_perf_SrvRW p; + t.add( &sockios_perf_SrvRW::r1, p, "client write/read 32 1638400 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r2, p, "client write/read 1024 51200 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r3, p, "client write/read 4096 12800 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r4, p, "client write/read 6400 8192 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r5, p, "client write/read 12800 4096 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r6, p, "client write/read 25600 2048 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r7, p, "client write/read 51200 1024 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r8, p, "client write/read 102400 512 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r9, p, "client write/read 204800 256 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r10, p, "client write/read 409600 128 bytes blocks" ); + t.add( &sockios_perf_SrvRW::r11, p, "client write/read 819200 64 bytes blocks" ); + + return t.girdle(); +} Modified: trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.h =================================================================== --- trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.h 2007-09-24 19:04:25 UTC (rev 1742) +++ trunk/complement/explore/lib/sockios/perf/sockios_perf_suite.h 2007-09-24 19:06:03 UTC (rev 1743) @@ -14,6 +14,8 @@ #include <exam/suite.h> -int EXAM_DECL(sockios_perf_suite); +int EXAM_DECL(sockios_perf_suite_b); +int EXAM_DECL(sockios_perf_suite_c); +int EXAM_DECL(sockios_perf_suite_d); #endif // __sockios_perf_suite_h This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |