stdc++ issue: extremely long compile time with large number of string literals
Mandeep Sandhu
mandeepsandhu.chd@gmail.com
Thu Jul 9 21:27:58 GMT 2020
> You didn't say what flags you are using. For anything autogenerated like
> that, going above -O1 is always risky.
I run it with just -std=c++11 (not optimization flag, so I guess it
defaults to -O0)
>
> One first thing to try is -ftime-report
>
> At -O0
> phase opt and generate : 3.46 ( 84%) 0.15 ( 45%) 3.62 ( 81%) 188385 kB ( 70%)
With 5000 strings, & -O0 I get the following in the time report:
Time variable usr sys
wall GGC
...
phase opt and generate : 4.12 ( 89%) 0.18 ( 46%)
4.30 ( 86%) 99680 kB ( 58%)
...
expand vars : 2.41 ( 52%) 0.00 ( 0%)
2.42 ( 48%) 699 kB ( 0%)
...
TBH, not sure what these values mean. Someone mentioned that overload
resolution might be causing the excessive delay, but I can't find any
metrics to verify that.
-mandeep
>
> without a specific pass that stands out.
>
> At -O1
> phase opt and generate : 87.96 ( 99%) 6.57 ( 97%) 94.56 ( 99%)24503776 kB (100%)
> callgraph ipa passes : 85.93 ( 97%) 6.52 ( 96%) 92.47 ( 97%)24413253 kB ( 99%)
> tree eh : 84.32 ( 95%) 6.43 ( 95%) 90.78 ( 95%)24340697 kB ( 99%)
>
> so, it looks related to the optimization of exceptions...
>
> --
> Marc Glisse
More information about the Gcc-help
mailing list