[PATCH] D25624: Added 'inline' attribute to basic_string's destructor
Sebastian Pop via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 31 13:10:55 PDT 2016
sebpop added a comment.
In https://reviews.llvm.org/D25624#583163, @mehdi_amini wrote:
> I'd like to understand why only the destructor?
We have committed a patch to inline the constructor of std::string.
Do you think we should inline some other functions?
In https://reviews.llvm.org/D25624#583167, @mehdi_amini wrote:
> I talked with Eric on IRC, he mentioned some benchmarks were ran. I'd like to understand what was the baseline?
We ran a proprietary benchmark compiled with clang + libc++ and compared against clang + libstdc++.
With this patch, libc++ is on par with libstdc++.
> Here we add *both* the inline keyword and the always_inline attribute. I'd like to know if there is a benchmarks that shows that always_inline is beneficial on top of the inline keyword.
> If we need to add always_inline anywhere: this is likely an inliner heuristic failure and we should at minima track it as an example to improve it.
This is a good observation: I am not sure we ran the benchmark without the always_inline attribute.
We will try again wihout that attribute and report whether it matters performance wise.
Thanks Mehdi for catching this!
More information about the cfe-commits