about summary refs log tree commit diff
path: root/src/libextra
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-02-08 05:01:30 -0800
committerbors <bors@rust-lang.org>2014-02-08 05:01:30 -0800
commit5acc998ed9b76d9c00849e007101f9c33b17c6c4 (patch)
tree1f1a5ad2080acda5446285f9da7077938cddd9df /src/libextra
parent548b8cec199c28c102fd98d6dd2833d3a171e7d0 (diff)
parent1d17c2129ec696d81e6c6caee8b1740dd9509090 (diff)
auto merge of #12098 : kballard/rust/from_utf8_lossy_tweak, r=huonw
MaybeOwned allows from_utf8_lossy to avoid allocation if there are no
invalid bytes in the input.

Before:
```
test str::bench::from_utf8_lossy_100_ascii                      ... bench:       183 ns/iter (+/- 5)
test str::bench::from_utf8_lossy_100_invalid                    ... bench:       341 ns/iter (+/- 15)
test str::bench::from_utf8_lossy_100_multibyte                  ... bench:       227 ns/iter (+/- 13)
test str::bench::from_utf8_lossy_invalid                        ... bench:       102 ns/iter (+/- 4)
test str::bench::is_utf8_100_ascii                              ... bench:         2 ns/iter (+/- 0)
test str::bench::is_utf8_100_multibyte                          ... bench:         2 ns/iter (+/- 0)
```

Now:
```
test str::bench::from_utf8_lossy_100_ascii                      ... bench:        96 ns/iter (+/- 4)
test str::bench::from_utf8_lossy_100_invalid                    ... bench:       318 ns/iter (+/- 10)
test str::bench::from_utf8_lossy_100_multibyte                  ... bench:       105 ns/iter (+/- 2)
test str::bench::from_utf8_lossy_invalid                        ... bench:       105 ns/iter (+/- 2)
test str::bench::is_utf8_100_ascii                              ... bench:         2 ns/iter (+/- 0)
test str::bench::is_utf8_100_multibyte                          ... bench:         2 ns/iter (+/- 0)
```
Diffstat (limited to 'src/libextra')
-rw-r--r--src/libextra/test.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libextra/test.rs b/src/libextra/test.rs
index d1fffd9e515..2d52a59c836 100644
--- a/src/libextra/test.rs
+++ b/src/libextra/test.rs
@@ -893,8 +893,8 @@ pub fn run_test(force_ignore: bool,
         spawn(proc() {
             let mut task = task::task();
             task.name(match desc.name {
-                DynTestName(ref name) => SendStrOwned(name.clone()),
-                StaticTestName(name) => SendStrStatic(name),
+                DynTestName(ref name) => name.to_owned().into_maybe_owned(),
+                StaticTestName(name) => name.into_maybe_owned()
             });
             let result_future = task.future_result();
             task.spawn(testfn);