diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2011-01-20 18:09:04 +0000 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2011-01-20 18:09:04 +0000 |
| commit | 393f1b414746a7f1977971dd7659dd2b47092b11 (patch) | |
| tree | 81d0ca1ee70ab86a7d79c1991abe5c387b655fb2 /src/tests/string.cpp | |
| parent | c259f95bd0e58b247940a339bb9b4b401b4e9438 (diff) | |
| parent | 7e25a863325dc3e9762397e700030969e093b087 (diff) | |
| download | libbu++-393f1b414746a7f1977971dd7659dd2b47092b11.tar.gz libbu++-393f1b414746a7f1977971dd7659dd2b47092b11.tar.bz2 libbu++-393f1b414746a7f1977971dd7659dd2b47092b11.tar.xz libbu++-393f1b414746a7f1977971dd7659dd2b47092b11.zip | |
Wow! Merged the branch, streams are updated, and there's no more FString, run
the fixstrings.sh script in the support directory to (hopefully) automatically
update your projects.
Diffstat (limited to '')
| -rw-r--r-- | src/tests/string.cpp (renamed from src/tests/fstring.cpp) | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/tests/fstring.cpp b/src/tests/string.cpp index c343172..12ce8a8 100644 --- a/src/tests/fstring.cpp +++ b/src/tests/string.cpp | |||
| @@ -1,12 +1,12 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2007-2010 Xagasoft, All rights reserved. | 2 | * Copyright (C) 2007-2011 Xagasoft, All rights reserved. |
| 3 | * | 3 | * |
| 4 | * This file is part of the libbu++ library and is released under the | 4 | * This file is part of the libbu++ library and is released under the |
| 5 | * terms of the license contained in the file LICENSE. | 5 | * terms of the license contained in the file LICENSE. |
| 6 | */ | 6 | */ |
| 7 | 7 | ||
| 8 | #include "bu/hash.h" | 8 | #include "bu/hash.h" |
| 9 | #include "bu/fstring.h" | 9 | #include "bu/string.h" |
| 10 | #include <sys/time.h> | 10 | #include <sys/time.h> |
| 11 | #include <string> | 11 | #include <string> |
| 12 | 12 | ||
| @@ -27,9 +27,9 @@ inline double getTime() | |||
| 27 | } | 27 | } |
| 28 | #endif | 28 | #endif |
| 29 | 29 | ||
| 30 | Bu::FString genThing() | 30 | Bu::String genThing() |
| 31 | { | 31 | { |
| 32 | Bu::FString bob; | 32 | Bu::String bob; |
| 33 | bob.append("ab "); | 33 | bob.append("ab "); |
| 34 | bob += "cd "; | 34 | bob += "cd "; |
| 35 | bob += "efg"; | 35 | bob += "efg"; |
| @@ -39,7 +39,7 @@ Bu::FString genThing() | |||
| 39 | return bob; | 39 | return bob; |
| 40 | } | 40 | } |
| 41 | 41 | ||
| 42 | void thing( Bu::FString str ) | 42 | void thing( Bu::String str ) |
| 43 | { | 43 | { |
| 44 | printf("Hey: %s\n", str.getStr() ); | 44 | printf("Hey: %s\n", str.getStr() ); |
| 45 | } | 45 | } |
| @@ -49,21 +49,21 @@ void copyfunc( std::string temp ) | |||
| 49 | temp += "Hi"; | 49 | temp += "Hi"; |
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | void copyfunc( Bu::FString temp ) | 52 | void copyfunc( Bu::String temp ) |
| 53 | { | 53 | { |
| 54 | temp += "Hi"; | 54 | temp += "Hi"; |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | void doTimings() | 57 | void doTimings() |
| 58 | { | 58 | { |
| 59 | Bu::FString fs1, fs2; | 59 | Bu::String fs1, fs2; |
| 60 | std::string ss1, ss2; | 60 | std::string ss1, ss2; |
| 61 | double dStart, dEnd, tfs1, tfs2, tfs3, tss1, tss2, tss3; | 61 | double dStart, dEnd, tfs1, tfs2, tfs3, tss1, tss2, tss3; |
| 62 | int nChars = 500000, nChunks=5000, nCopies=5000000, nChunkSize=1024*4; | 62 | int nChars = 500000, nChunks=5000, nCopies=5000000, nChunkSize=1024*4; |
| 63 | char *buf = new char[nChunkSize]; | 63 | char *buf = new char[nChunkSize]; |
| 64 | memset( buf, '!', nChunkSize ); | 64 | memset( buf, '!', nChunkSize ); |
| 65 | 65 | ||
| 66 | printf("Timing Bu::FString single chars...\n"); | 66 | printf("Timing Bu::String single chars...\n"); |
| 67 | dStart = getTime(); | 67 | dStart = getTime(); |
| 68 | for( int j = 0; j < nChars; j++ ) fs1 += (char)('a'+(j%26)); | 68 | for( int j = 0; j < nChars; j++ ) fs1 += (char)('a'+(j%26)); |
| 69 | fs1.getStr(); | 69 | fs1.getStr(); |
| @@ -77,7 +77,7 @@ void doTimings() | |||
| 77 | dEnd = getTime(); | 77 | dEnd = getTime(); |
| 78 | tss1 = dEnd-dStart; | 78 | tss1 = dEnd-dStart; |
| 79 | 79 | ||
| 80 | printf("Timing Bu::FString %d char chunks...\n", nChunkSize); | 80 | printf("Timing Bu::String %d char chunks...\n", nChunkSize); |
| 81 | dStart = getTime(); | 81 | dStart = getTime(); |
| 82 | for( int j = 0; j < nChunks; j++ ) fs2.append(buf, nChunkSize); | 82 | for( int j = 0; j < nChunks; j++ ) fs2.append(buf, nChunkSize); |
| 83 | fs2.getStr(); | 83 | fs2.getStr(); |
| @@ -93,9 +93,9 @@ void doTimings() | |||
| 93 | 93 | ||
| 94 | fs2 = "Hello there."; | 94 | fs2 = "Hello there."; |
| 95 | ss2 = "Hello there."; | 95 | ss2 = "Hello there."; |
| 96 | printf("Timing Bu::FString copies...\n"); | 96 | printf("Timing Bu::String copies...\n"); |
| 97 | dStart = getTime(); | 97 | dStart = getTime(); |
| 98 | for( int j = 0; j < nCopies; j++ ) Bu::FString stmp = fs2; | 98 | for( int j = 0; j < nCopies; j++ ) Bu::String stmp = fs2; |
| 99 | dEnd = getTime(); | 99 | dEnd = getTime(); |
| 100 | tfs3 = dEnd-dStart; | 100 | tfs3 = dEnd-dStart; |
| 101 | 101 | ||
| @@ -107,7 +107,7 @@ void doTimings() | |||
| 107 | 107 | ||
| 108 | printf( | 108 | printf( |
| 109 | "Results: singles: chunks: copies:\n" | 109 | "Results: singles: chunks: copies:\n" |
| 110 | "Bu::FString %10.2f/s %10.2f/s %10.2f/s\n" | 110 | "Bu::String %10.2f/s %10.2f/s %10.2f/s\n" |
| 111 | "std::string %10.2f/s %10.2f/s %10.2f/s\n", | 111 | "std::string %10.2f/s %10.2f/s %10.2f/s\n", |
| 112 | nChars/tfs1, nChunks/tfs2, nCopies/tfs3, | 112 | nChars/tfs1, nChunks/tfs2, nCopies/tfs3, |
| 113 | nChars/tss1, nChunks/tss2, nCopies/tss3 ); | 113 | nChars/tss1, nChunks/tss2, nCopies/tss3 ); |
| @@ -118,16 +118,16 @@ void doTimings() | |||
| 118 | #define pem printf("---------\n%08tX: %s\n%08tX: %s\n", (ptrdiff_t)str.getStr(), str.getStr(), (ptrdiff_t)str2.getStr(), str2.getStr() ); | 118 | #define pem printf("---------\n%08tX: %s\n%08tX: %s\n", (ptrdiff_t)str.getStr(), str.getStr(), (ptrdiff_t)str2.getStr(), str2.getStr() ); |
| 119 | int main( ) | 119 | int main( ) |
| 120 | { | 120 | { |
| 121 | Bu::FString fs1; | 121 | Bu::String fs1; |
| 122 | for( int j = 0; j < 500000; j++ ) fs1 += (char)('a'+(j%26)); | 122 | for( int j = 0; j < 500000; j++ ) fs1 += (char)('a'+(j%26)); |
| 123 | return 0; | 123 | return 0; |
| 124 | 124 | ||
| 125 | Bu::FString str("th"); | 125 | Bu::String str("th"); |
| 126 | 126 | ||
| 127 | str.prepend("Hello "); | 127 | str.prepend("Hello "); |
| 128 | str.append("ere."); | 128 | str.append("ere."); |
| 129 | 129 | ||
| 130 | Bu::FString str2( str ); | 130 | Bu::String str2( str ); |
| 131 | pem; | 131 | pem; |
| 132 | str += " What's up?"; | 132 | str += " What's up?"; |
| 133 | pem; | 133 | pem; |
