俺も似たことしてみたがmemory上の検索でもほとんど差はでなかったね。
ただ、
for (ite = s.begin(); ite != s.end(); ++ite){
for (ite = s.begin(), end = s.end(); ite != end; ++ite){
は30%くらい差が出た。
アセンブリ見たら下の方がいいコードが吐かれたわ
この程度最適化されると思ったが