diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-03-28 21:04:13 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-03-29 08:41:25 -0700 |
| commit | 5ce3d35f4170ecbf6a0efbc3cd7cdcb451c79837 (patch) | |
| tree | 88b2d6c593a45d1b84328aa5a84f079c61b318d7 /src | |
| parent | 26630187920a8b3f1b2f2d73f0172addd6c35ccd (diff) | |
| download | rust-5ce3d35f4170ecbf6a0efbc3cd7cdcb451c79837.tar.gz rust-5ce3d35f4170ecbf6a0efbc3cd7cdcb451c79837.zip | |
rustc: Don't zero out arena chunks with vec::from_elem; that's slow because it calls the glue.
Diffstat (limited to 'src')
| -rw-r--r-- | src/libstd/arena.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libstd/arena.rs b/src/libstd/arena.rs index 6d8bc9fa0c3..b066232cd23 100644 --- a/src/libstd/arena.rs +++ b/src/libstd/arena.rs @@ -8,7 +8,9 @@ type chunk = {data: [u8], mut fill: uint}; type arena = {mut chunks: list::list<@chunk>}; fn chunk(size: uint) -> @chunk { - @{ data: vec::from_elem(size, 0u8), mut fill: 0u } + let mut v = []; + vec::reserve(v, size); + @{ data: v, mut fill: 0u } } fn arena_with_size(initial_size: uint) -> arena { |
