Tengo un vector grande (10^9 elementos) de caracteres, y me preguntaba cuál es la forma más rápida de escribir dicho vector en un archivo. Hasta ahora he estado usando el siguiente código:La forma más rápida de escribir un vector STL grande en un archivo usando STL
vector<char> vs;
// ... Fill vector with data
ofstream outfile("nanocube.txt", ios::out | ios::binary);
ostream_iterator<char> oi(outfile, '\0');
copy(vs.begin(), vs.end(), oi);
Para este código, toma aproximadamente dos minutos escribir todos los datos en el archivo. La pregunta real es: "¿Puedo hacerlo más rápido usando STL y cómo"?
¿Hay algún otro procesamiento que desee realizar mientras la escritura se realiza en segundo plano? Si es así, use E/S superpuesto pasando vs.data() como el buffer y vs.size() como el número de bytes que se escribirá según lo especificado por Charles Salvia. – Modicom