Daniel Micay
|
ef870d37a5
|
implement pointer arithmetic with GEP
Closes #8118, #7136
~~~rust
extern mod extra;
use std::vec;
use std::ptr;
fn bench_from_elem(b: &mut extra::test::BenchHarness) {
do b.iter {
let v: ~[u8] = vec::from_elem(1024, 0u8);
}
}
fn bench_set_memory(b: &mut extra::test::BenchHarness) {
do b.iter {
let mut v: ~[u8] = vec::with_capacity(1024);
unsafe {
let vp = vec::raw::to_mut_ptr(v);
ptr::set_memory(vp, 0, 1024);
vec::raw::set_len(&mut v, 1024);
}
}
}
fn bench_vec_repeat(b: &mut extra::test::BenchHarness) {
do b.iter {
let v: ~[u8] = ~[0u8, ..1024];
}
}
~~~
Before:
test bench_from_elem ... bench: 415 ns/iter (+/- 17)
test bench_set_memory ... bench: 85 ns/iter (+/- 4)
test bench_vec_repeat ... bench: 83 ns/iter (+/- 3)
After:
test bench_from_elem ... bench: 84 ns/iter (+/- 2)
test bench_set_memory ... bench: 84 ns/iter (+/- 5)
test bench_vec_repeat ... bench: 84 ns/iter (+/- 3)
|
2013-07-30 02:50:31 -04:00 |
|
Patrick Walton
|
99b33f7219
|
librustc: Remove all uses of "copy".
|
2013-07-17 14:57:51 -07:00 |
|
Patrick Walton
|
b4e674f6e6
|
librustc: Add a lint mode for unnecessary copy and remove a bunch of them.
|
2013-07-17 14:56:42 -07:00 |
|
Huon Wilson
|
c437a16c5d
|
rustc: add a lint to enforce uppercase statics.
|
2013-07-01 17:52:57 +10:00 |
|
Corey Richardson
|
1662bd371c
|
Great renaming: propagate throughout the rest of the codebase
|
2013-06-29 11:20:02 -04:00 |
|
Young-il Choi
|
51beba6cf9
|
libextra: unused import fix for android AGAIN
|
2013-06-29 01:22:29 -04:00 |
|
Corey Richardson
|
4f044891a5
|
Fix merge fallout
|
2013-06-28 14:10:06 -04:00 |
|
Patrick Walton
|
f6a27cbda2
|
libextra: Fix even more merge fallout.
|
2013-06-28 10:47:56 -04:00 |
|
Patrick Walton
|
03ab6351cc
|
librustc: Rewrite reachability and forbid duplicate methods in type implementations.
This should allow fewer symbols to be exported.
|
2013-06-28 10:44:16 -04:00 |
|
Young-il Choi
|
aabeba3d63
|
extra: unused import fix for android
|
2013-06-27 23:21:40 -04:00 |
|
Huon Wilson
|
d0512b1055
|
Convert vec::[mut_]slice to methods, remove vec::const_slice.
|
2013-06-27 22:36:09 +10:00 |
|
Huon Wilson
|
efc71a8bdb
|
std: unify the str -> [u8] functions as 3 methods: .as_bytes() and .as_bytes_with_null[_consume]().
The first acts on &str and is not nul-terminated, the last two act on strings
that are always null terminated (&'static str, ~str and @str).
|
2013-06-12 12:21:04 +10:00 |
|
Daniel Micay
|
de367157b5
|
remove deprecated vec::{is_empty, len} functions
|
2013-06-08 23:19:30 -04:00 |
|
Björn Steinbrink
|
2096d79626
|
Avoid unnecessary allocations in the metadata decoder
|
2013-06-08 03:27:48 +02:00 |
|
Patrick Walton
|
5fb254695b
|
Remove all uses of pub impl . rs=style
|
2013-06-01 09:18:27 -07:00 |
|
Alex Crichton
|
e86ac24e7b
|
Implement unimplemented methods in ebml
|
2013-05-31 00:28:17 -05:00 |
|
Alex Crichton
|
395685079a
|
libextra: Require documentation by default
|
2013-05-30 01:03:15 -05:00 |
|
Patrick Walton
|
f3723cf7c4
|
libextra: Rename the actual metadata names of libcore to libstd and libstd to libextra
|
2013-05-22 21:57:07 -07:00 |
|
Patrick Walton
|
0c820d4123
|
libstd: Rename libcore to libstd and libstd to libextra; update makefiles.
This only changes the directory names; it does not change the "real"
metadata names.
|
2013-05-22 21:57:05 -07:00 |
|