summaryrefslogtreecommitdiff
path: root/src/tests/speed.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/speed.cpp')
-rw-r--r--src/tests/speed.cpp58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/tests/speed.cpp b/src/tests/speed.cpp
deleted file mode 100644
index 2fa29aa..0000000
--- a/src/tests/speed.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
1/*
2 * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#include "bu/string.h"
9#include <sys/time.h>
10
11template<typename a>
12struct tstCopy
13{
14 tstCopy( const a &src ) :
15 src( src )
16 {
17 }
18
19 void operator()()
20 {
21 a tmp = src;
22 }
23
24 a src;
25};
26
27template<typename f>
28double runTest( f fnc )
29{
30 struct timeval tStart, tEnd;
31 int j = 0;
32 gettimeofday( &tStart, NULL );
33 for(; j < 500000; j++ )
34 fnc();
35 gettimeofday( &tEnd, NULL );
36
37 return (double)(tEnd.tv_sec-tStart.tv_sec)+
38 (double)(tEnd.tv_usec-tStart.tv_usec)/1000000.0;
39}
40
41template<typename tst>
42void fullTest( tst t )
43{
44 double dTotal;
45 int iCount = 10;
46 for( int j = 0; j < iCount; j++ )
47 dTotal += runTest( t );
48 printf("Average time: %f\n", dTotal/iCount );
49}
50
51int main()
52{
53 Bu::String str;
54 for( int j = 0; j < 500; j++ )
55 str.append("Hey, this is a test string. It will be reapeated many, many times. How's that?");
56 fullTest( tstCopy<Bu::String>( str ) );
57}
58