> 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