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

make trait matching smarter with projections #27866

Merged
merged 4 commits into from
Aug 18, 2015

Conversation

arielb1
Copy link
Contributor

@arielb1 arielb1 commented Aug 17, 2015

also, use the right caching logic for type_moves_by_default (this was
broken by @jroesch).

before:
593.10user 5.21system 7:51.41elapsed 126%CPU (0avgtext+0avgdata 1150016maxresident)k

after:
567.03user 4.00system 7:28.23elapsed 127%CPU (0avgtext+0avgdata 1133112maxresident)k

A nice 4.5% improvement. For reference, on the last run LLVM takes 429.267s, which is 75% - hopefully this can be reduced.

I think the regression since #27751 is because of the wf patch - need to investigate it through.

r? @nikomatsakis

@nikomatsakis
Copy link
Contributor

r+ modulo arielb1@e93d01d#commitcomment-12744047

@arielb1 arielb1 force-pushed the really-fast-reject branch 2 times, most recently from 9e2578e to e3b1257 Compare August 17, 2015 18:30
Ariel Ben-Yehuda added 2 commits August 17, 2015 21:53
also, use the right caching logic for type_moves_by_default (this was
broken by @jroesch).

before:
593.10user 5.21system 7:51.41elapsed 126%CPU (0avgtext+0avgdata 1150016maxresident)k
llvm: 427.045

after:
577.76user 4.27system 7:36.13elapsed 127%CPU (0avgtext+0avgdata 1141608maxresident)k
llvm: 431.001
this doesn't cause a measurable perf increase, but it makes callgrind output
cleaner. Anyway, rustc should be using FNV everywhere.
@arielb1 arielb1 force-pushed the really-fast-reject branch from e3b1257 to 96e6b2f Compare August 17, 2015 18:53
@arielb1
Copy link
Contributor Author

arielb1 commented Aug 17, 2015

added comment.

@arielb1
Copy link
Contributor Author

arielb1 commented Aug 17, 2015

I have some reasons to suspect this doesn't completely work. Investigating.

@arielb1 arielb1 force-pushed the really-fast-reject branch from 73ef21b to 7eccece Compare August 17, 2015 21:21
@arielb1
Copy link
Contributor Author

arielb1 commented Aug 17, 2015

fixed that

Ariel Ben-Yehuda added 2 commits August 18, 2015 00:24
this avoids needless substituting

before:
577.76user 4.27system 7:36.13elapsed 127%CPU (0avgtext+0avgdata 1141608maxresident)k

after:
573.01user 4.04system 7:33.86elapsed 127%CPU (0avgtext+0avgdata 1141656maxresident)k
before:
573.01user 4.04system 7:33.86elapsed 127%CPU (0avgtext+0avgdata 1141656maxresident)k
after:
567.03user 4.00system 7:28.23elapsed 127%CPU (0avgtext+0avgdata 1133112maxresident)k

an additional 1% improvement
@arielb1 arielb1 force-pushed the really-fast-reject branch from 7eccece to 13809ff Compare August 17, 2015 21:26
@nikomatsakis
Copy link
Contributor

@bors r+

@bors
Copy link
Contributor

bors commented Aug 17, 2015

📌 Commit 13809ff has been approved by nikomatsakis

@bors
Copy link
Contributor

bors commented Aug 18, 2015

⌛ Testing commit 13809ff with merge 16cacbe...

bors added a commit that referenced this pull request Aug 18, 2015
also, use the right caching logic for type_moves_by_default (this was
broken by @jroesch).

```
before:
593.10user 5.21system 7:51.41elapsed 126%CPU (0avgtext+0avgdata 1150016maxresident)k

after:
567.03user 4.00system 7:28.23elapsed 127%CPU (0avgtext+0avgdata 1133112maxresident)k
```

A nice 4.5% improvement. For reference, on the last run LLVM takes 429.267s, which is 75% - hopefully this can be reduced.

I think the regression since #27751 is because of the wf patch - need to investigate it through.

r? @nikomatsakis
@bors bors merged commit 13809ff into rust-lang:master Aug 18, 2015
@bluss bluss added the relnotes Marks issues that should be documented in the release notes of the next release. label Aug 18, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
relnotes Marks issues that should be documented in the release notes of the next release.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants