Permalink
Switch branches/tags
Nothing to show
Commits on Sep 8, 2014
Commits on Sep 7, 2014
  1. auto merge of #17032 : jamesluke/rust/master, r=alexcrichton

    bors committed Sep 7, 2014
    "extern create" -> "extern crate"
  2. auto merge of #16999 : brson/rust/fannkuch, r=alexcrichton

    bors committed Sep 7, 2014
    From the discussion on reddit:
    http://www.reddit.com/r/rust/comments/2fenlg/benchmark_improvement_fannkuchredux/
    
    This adds two variants: the primary, that uses an unsafe block, and a secondary
    that is completely safe.
    
    The one with the unsafe block matches clang's performance and beats gcc's.
Commits on Sep 6, 2014
  1. auto merge of #17011 : nodakai/rust/rustdoc-stronger-crate, r=alexcri…

    bors committed Sep 6, 2014
    …chton
    
    If you browse to, say, http://doc.rust-lang.org/libc/types/os/common/posix01/struct.timeval.html , you will see the "location" window showing `libc::types::os::common::posix01`.  The first element points to a crate and others point modules.  This patch adds the bold attribute to the first (ie. crate) element so that it stands out more.
  2. auto merge of #17002 : tari/rust/std-mut-ref-slice, r=alexcrichton

    bors committed Sep 6, 2014
    `std::slice` exported `ref_slice` but not `mut_ref_slice`. This change makes it export both.
  3. auto merge of #16997 : gamazeps/rust/master, r=huonw

    bors committed Sep 6, 2014
    Changed the names according to the issue #16988
  4. auto merge of #16907 : SimonSapin/rust/tempdir-result, r=huonw

    bors committed Sep 6, 2014
    This allows using `try!()`
    
    [breaking-change]
    
    Fixes #16875
  5. auto merge of #16367 : epdtry/rust/parallel-codegen, r=alexcrichton

    bors committed Sep 6, 2014
    This branch adds support for running LLVM optimization and codegen on different parts of a crate in parallel.  Instead of translating the crate into a single LLVM compilation unit, `rustc` now distributes items in the crate among several compilation units, and spawns worker threads to optimize and codegen each compilation unit independently.  This improves compile times on multicore machines, at the cost of worse performance in the compiled code.  The intent is to speed up build times during development without sacrificing too much optimization.
    
    On the machine I tested this on, `librustc` build time with `-O` went from 265 seconds (master branch, single-threaded) to 115s (this branch, with 4 threads), a speedup of 2.3x.  For comparison, the build time without `-O` was 90s (single-threaded).  Bootstrapping `rustc` using 4 threads gets a 1.6x speedup over the default settings (870s vs. 1380s), and building `librustc` with the resulting stage2 compiler takes 1.3x as long as the master branch (44s vs.  55s, single threaded, ignoring time spent in LLVM codegen).
    
    The user-visible changes from this branch are two new codegen flags:
    
     * `-C codegen-units=N`: Distribute items across `N` compilation units.
     * `-C codegen-threads=N`: Spawn `N` worker threads for running optimization and codegen.  (It is possible to set `codegen-threads` larger than `codegen-units`, but this is not very useful.)
    
    Internal changes to the compiler are described in detail on the individual commit messages.
    
    Note: The first commit on this branch is copied from #16359, which this branch depends on.
    
    r? @nick29581
Commits on Sep 5, 2014
  1. Fix documentation typo.

    jamesluke committed Sep 5, 2014
  2. Optimize Slice::reverse

    brson committed Sep 5, 2014
    This makes the completely safe implementation of fannkuchredux perform
    the same as C++. Yay, Rust.
  3. auto merge of #16628 : pczarn/rust/hashmap-opt, r=nikomatsakis

    bors committed Sep 5, 2014
    This is #15720, rebased and reopened.
    
    cc @nikomatsakis