Spróbuj używać jednego vectora, a nie tworzyć nowy przy każdej iteracji - robi ci się niepotrzebny overhead wynikający z potrzeby nie zawsze koniecznego zwalniania i alokowania pamieci. Stwórz wektor bezpośrednio w scopie funkcji main, co iteracje używaj na nim reserve() (lepsze od resize bo nie ma konieczności inicjalizacji indeksów jakąś wartością), a do dodawania elementów używaj push_back().
Po każdej iteracji musisz też czyścić kontener, żeby zresetować indeks pod którym będą się pojawiać elementy po push_back(), więc używaj na vectorze clear() po każdej iteracji. Tutaj trzeba mieć nadzieje, że implementacja std::vector nie będzie zwalniała pamięci. Jeśli nie chcesz na tym polegać, to "ręcznie" nadpisuj indeksy o ile rozmiar vectora jest wystarczający (w przeciwnym wypadku push_back). Możesz sprawdzić czas dla metody z push_back i tej drugiej "ręcznej", bo możliwe że ify konieczne dla drugiej metody stworzą za duży overhead..