Skip to content
This repository has been archived by the owner on Nov 21, 2018. It is now read-only.

Add a script to compare two compilers. #17

Merged
merged 4 commits into from Sep 29, 2016

Commits on Sep 28, 2016

  1. Add a script to compare two compilers.

    This commit adds a new script, `compare.py`, that can be used to compared the
    speed of two compilers. Example output:
    ```
    futures-rs-test  4.689s vs  4.668s --> 1.004x faster (variance: 1.001x, 1.008x)
    helloworld       0.232s vs  0.230s --> 1.007x faster (variance: 1.009x, 1.012x)
    html5ever-2016-  7.670s vs  7.669s --> 1.000x faster (variance: 1.008x, 1.009x)
    hyper.0.5.0      5.304s vs  5.308s --> 0.999x faster (variance: 1.007x, 1.005x)
    inflate-0.1.0    4.849s vs  4.884s --> 0.993x faster (variance: 1.019x, 1.009x)
    issue-32062-equ  0.400s vs  0.396s --> 1.009x faster (variance: 1.014x, 1.021x)
    issue-32278-big  1.872s vs  1.833s --> 1.022x faster (variance: 1.021x, 1.018x)
    jld-day15-parse  1.903s vs  1.875s --> 1.015x faster (variance: 1.006x, 1.002x)
    piston-image-0. 12.910s vs 12.932s --> 0.998x faster (variance: 1.010x, 1.006x)
    regex.0.1.30     2.622s vs  2.629s --> 0.997x faster (variance: 1.020x, 1.018x)
    rust-encoding-0  3.269s vs  3.245s --> 1.007x faster (variance: 1.022x, 1.022x)
    syntex-0.42.2    0.240s vs  0.242s --> 0.992x faster (variance: 1.011x, 1.004x)
    syntex-0.42.2-i 48.252s vs 48.070s --> 1.004x faster (variance: 1.011x, 1.006x)
    ```
    
    In support of this, the commit also does the following.
    
    - Clarifies the meaning of the `touch` target. It now touches or removes
      files in such a way that subsequent `make` invocations will rebuild
      just the crate of interest for each benchmark. Most of the `touch`
      targets required changing to achieve this.
    
    - Replaces use of the CARGO_BUILD environment variable with
      CARGO_RUSTC_OPTS. This means that all makefiles are now more uniform
      -- they now all invoke `cargo rust` directly, and none of them
      specify `-Ztime-passes -Zinput-stats`. The commit also updates
      appropriately `process.sh` for this change.
    
    - Uses `cargo clean` more extensively in makefile `clean` targets.
    
    - Adds `.PHONY` declarations to all makefiles missing them. It can't
      hurt.
    
    - Rewrites `README.md` to reflect all the above changes, and to remove
      outdated and incorrect information.
    nnethercote committed Sep 28, 2016
    Copy the full SHA
    853db5f View commit details
    Browse the repository at this point in the history
  2. lock syntex version

    nikomatsakis committed Sep 28, 2016
    Copy the full SHA
    eca02b9 View commit details
    Browse the repository at this point in the history
  3. update the syntex-0.42.2 makefiles

    We are now timing specifically the syntex_syntax crate. Also, do not
    remove the Cargo.lock file -- I want to ensure we continue to build the
    same dependencies so our measurements are more reliable.
    nikomatsakis committed Sep 28, 2016
    Copy the full SHA
    17e6309 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #1 from nikomatsakis/fix-syntex-benchmarks

    Fix syntex benchmarks
    nnethercote committed Sep 28, 2016
    Copy the full SHA
    7afc56b View commit details
    Browse the repository at this point in the history