[Bug libstdc++/103755] {has,use}_facet() and iostream constructor performance
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 17 21:05:24 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103755
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #3)
> Created attachment 52025 [details]
> Alternative implementation v2
>
> The diagnostic regression is easy to fix with a static assertion before
> calling __try_use_facet.
Although that causes errors for certain uses of streams without including
<locale>, specifically when building the library.
Also I forgot to say that I can still reproduce approx. 3x speedup using my
patch.
Before:
BM_sstream_construct 288 ns 287 ns 2525913
BM_fstream_construct 319 ns 318 ns 2204065
After:
BM_sstream_construct 99.5 ns 99.1 ns 6512679
BM_fstream_construct 108 ns 107 ns 6536463
More information about the Gcc-bugs
mailing list