Skip to content

core: Inline most cell methods. #23495

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

Closed
wants to merge 1 commit into from

Conversation

pcwalton
Copy link
Contributor

This is a significant performance problem in Servo.

r? @brson

This is a significant performance problem in Servo.
@emberian
Copy link
Member

Is LLVM really not inlining these functions? The bodies are miniscule, and the'll get monomorphized in the other crate. I wonder if we need to tune our inline cost.

@pcwalton
Copy link
Contributor Author

@cmr No, they do not all get monomorphized. Many of them just have lifetime parameters and so are not automatically monomorphized. This patch is based on actual profiling I did in Servo.

@pcwalton
Copy link
Contributor Author

@cmr In particular BorrowRef::new and BorrowRefMut::new are showing up in profiles.

@emberian
Copy link
Member

@bors: r+ rollup

@bors
Copy link
Collaborator

bors commented Mar 18, 2015

📌 Commit 5f0f2aa has been approved by cmr

Manishearth added a commit to Manishearth/rust that referenced this pull request Mar 19, 2015
 This is a significant performance problem in Servo.

r? @brson
@Manishearth
Copy link
Member

This merged, 19b40f7

@sfackler sfackler closed this Mar 19, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants