switch to a plain std::vector as this should be fastest