diff options
author | Mike Buland <eichlan@xagasoft.com> | 2011-03-30 22:33:41 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2011-03-30 22:33:41 +0000 |
commit | 4b9289cfb260f4bcecaf23a810584ef6ef8e8501 (patch) | |
tree | 79136af08c7e42ba3322f0d73e9779e4354b318a /src/tests/speed.cpp | |
parent | c7636dc954eddfe58f7959392602fbc9072d77e7 (diff) | |
download | libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.tar.gz libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.tar.bz2 libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.tar.xz libbu++-4b9289cfb260f4bcecaf23a810584ef6ef8e8501.zip |
Ok, string stuff is working much, much better, a load of new unit tests have
been added, and I deleted a whole slew of stupid old tests that I don't need.
Diffstat (limited to 'src/tests/speed.cpp')
-rw-r--r-- | src/tests/speed.cpp | 58 |
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 | |||
11 | template<typename a> | ||
12 | struct 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 | |||
27 | template<typename f> | ||
28 | double 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 | |||
41 | template<typename tst> | ||
42 | void 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 | |||
51 | int 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 | |||