Re: [committed] libstdc++: Avoid redundant checks in std::use_facet [PR103755]

2022-11-13 Thread Jonathan Wakely via Gcc-patches
On Sun, 13 Nov 2022, 19:23 Stephan Bergmann via Libstdc++, < libstd...@gcc.gnu.org> wrote: > On 11/12/22 03:47, Jonathan Wakely wrote: > > On Fri, 11 Nov 2022 at 21:00, Stephan Bergmann > wrote: > >> > >> On 11/11/22 06:30, Jonathan Wakely via Gcc-patches wrote: > >>> As discussed in the PR,

Re: [committed] libstdc++: Avoid redundant checks in std::use_facet [PR103755]

2022-11-13 Thread Stephan Bergmann via Gcc-patches
On 11/12/22 03:47, Jonathan Wakely wrote: On Fri, 11 Nov 2022 at 21:00, Stephan Bergmann wrote: On 11/11/22 06:30, Jonathan Wakely via Gcc-patches wrote: As discussed in the PR, this makes it three times faster to construct iostreams objects. Tested x86_64-linux. Pushed to trunk. I

Re: [committed] libstdc++: Avoid redundant checks in std::use_facet [PR103755]

2022-11-11 Thread Jonathan Wakely via Gcc-patches
On Fri, 11 Nov 2022 at 21:00, Stephan Bergmann wrote: > > On 11/11/22 06:30, Jonathan Wakely via Gcc-patches wrote: > > As discussed in the PR, this makes it three times faster to construct > > iostreams objects. > > > > Tested x86_64-linux. Pushed to trunk. > > I haven't yet tried to track down

Re: [committed] libstdc++: Avoid redundant checks in std::use_facet [PR103755]

2022-11-11 Thread Stephan Bergmann via Gcc-patches
On 11/11/22 06:30, Jonathan Wakely via Gcc-patches wrote: As discussed in the PR, this makes it three times faster to construct iostreams objects. Tested x86_64-linux. Pushed to trunk. I haven't yet tried to track down what's going on, but with various versions of Clang (e.g.

[committed] libstdc++: Avoid redundant checks in std::use_facet [PR103755]

2022-11-10 Thread Jonathan Wakely via Gcc-patches
As discussed in the PR, this makes it three times faster to construct iostreams objects. Tested x86_64-linux. Pushed to trunk. -- >8 -- We do not need to do bounds checks or a runtime dynamic_cast when using std::has_facet and std::use_facet to access the default facets that are guaranteed to