>>571
最適化が原因ではない
GCCもCLANGも長さ8のベクタは領域も8個分で作られる
プログラムはそこへpushで要素を1つ加えている
領域が足りないので2倍の長さ16個分の領域を別途確保してそこへ移動する
その後も足りなくなるたびに2倍の領域を確保する
これは一見すると非効率に見えるが実は効率のバランスが良い
領域が2^n個分の時までの移動コストの累積は最大でも2^(n-1)+2^(n-2)+...+1=2^n-1なのでO(1)である
その後に問題がどう生じるかは>>574が解説してくれている