-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
I-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.
Description
Many AsRef
and AsMut
implementations in core do not have #[inline]
and yet these tiny no-op functions are called from the assembly.
The following assembly maps to AsMut<[T]> for [T]
Any quick search for as_ref
or as_mut
in convert.rs
shows many instances, some with but many without #[inline]
.
_ZN63_$LT$$RF$mut$u20$T$u20$as$u20$core..convert..AsMut$LT$U$GT$$GT$6as_mut17h47b72d0f8c3b94ffE:
.cfi_startproc
movq (%rdi), %rax
movq 8(%rdi), %rdx
retq
Edit: Default::default
is another example where more aggressive inlining should be used
LifeIsStrange
Metadata
Metadata
Assignees
Labels
I-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.