I'd try multithreading. The only thing I could see that would slow it down is sharing the same vector (i.e. having to wait for the other process to finish its job).