about summary refs log tree commit diff
path: root/src/libstd/str.rs
diff options
context:
space:
mode:
authorblake2-ppc <blake2-ppc>2013-09-11 02:16:11 +0200
committerblake2-ppc <blake2-ppc>2013-09-16 19:13:41 +0200
commite34e2032e8ca028fb622b60ad4aa07f9e86bfe35 (patch)
treeea50b6a594243e4789648f7665690839905821f3 /src/libstd/str.rs
parent8fce135326707264d99102cdb514b00d6aa38081 (diff)
downloadrust-e34e2032e8ca028fb622b60ad4aa07f9e86bfe35.tar.gz
rust-e34e2032e8ca028fb622b60ad4aa07f9e86bfe35.zip
std::str: Add bench tests for StrVector::connect() and for str::push_str
Diffstat (limited to 'src/libstd/str.rs')
-rw-r--r--src/libstd/str.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/libstd/str.rs b/src/libstd/str.rs
index 0f125280c2d..17eb3dd06df 100644
--- a/src/libstd/str.rs
+++ b/src/libstd/str.rs
@@ -3897,4 +3897,23 @@ mod bench {
             with_capacity(100);
         }
     }
+
+    #[bench]
+    fn bench_push_str(bh: &mut BenchHarness) {
+        let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb";
+        do bh.iter {
+            let mut r = ~"";
+            r.push_str(s);
+        }
+    }
+
+    #[bench]
+    fn bench_connect(bh: &mut BenchHarness) {
+        let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb";
+        let sep = "→";
+        let v = [s, s, s, s, s, s, s, s, s, s];
+        do bh.iter {
+            assert_eq!(v.connect(sep).len(), s.len() * 10 + sep.len() * 9);
+        }
+    }
 }