Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rolling up PRs in the queue #12221

Closed
wants to merge 8 commits into from
Closed

Commits on Feb 12, 2014

  1. Stop unloading syntax libraries

    Externally loaded libraries are able to do things that cause references
    to them to survive past the expansion phase (e.g. creating @-box cycles,
    launching a task or storing something in task local data). As such, the
    library has to stay loaded for the lifetime of the process.
    sfackler authored and alexcrichton committed Feb 12, 2014
    Configuration menu
    Copy the full SHA
    4e9724d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e9058e0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fb595cd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7a56430 View commit details
    Browse the repository at this point in the history
  5. Remove a source of O(n^2) running time in bigints.

    ::num::bigint, Remove a source of O(n^2) running time in `fn shr_bits`.
    
    I'll cut to the chase: On my laptop, this brings the running time on
    `pidigits 2000` (from src/test/bench/shootout-pidigits.rs) from this:
    ```
    % time ./pidigits 2000 > /dev/null
    
    real	0m7.695s
    user	0m7.690s
    sys	0m0.005s
    ```
    to this:
    ```
    % time ./pidigits 2000 > /dev/null
    
    real	0m0.322s
    user	0m0.318s
    sys	0m0.004s
    ```
    
    The previous code was building up a vector by repeatedly making a
    fresh copy for each element that was unshifted onto the front,
    yielding quadratic running time.  This fixes that by building up the
    vector in reverse order (pushing elements onto the end) and then
    reversing it.
    
    (Another option would be to build up a zero-initialized vector of the
    desired length and then installing all of the shifted result elements
    into their target index, but this was easier to hack up quickly, and
    yields the desired asymptotic improvement.  I have been thinking of
    adding a `vec::from_fn_rev` to handle this case, maybe I will try that
    this weekend.)
    pnkfelix authored and alexcrichton committed Feb 12, 2014
    Configuration menu
    Copy the full SHA
    cdc3843 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6436917 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2ec3027 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2014

  1. 4 Configuration menu
    Copy the full SHA
    3857604 View commit details
    Browse the repository at this point in the history