Aceleración de la conversión de 2 millones de filas de cadenas de fecha a POSIX.ct

Tengo un csv que incluye aproximadamente 2 millones de filas de cadenas de fecha en el formato:

2012/11/13 21:10:00 

Llamemos a esocsv$Date.and.Time

Quiero convertir estas fechas (y los datos que las acompañan) a xts lo más rápido posible

He escrito un script que realiza la conversión muy bien (ver más abajo), pero es terriblemente lento y me gustaría acelerar esto lo más posible.

Aquí está mi metodología actual. ¿Alguien tiene alguna sugerencia sobre cómo hacer esto más rápido?

 dt <- as.POSIXct(csv$Date.and.Time,tz="UTC")

idx <- format(dt,tz=z,usetz=TRUE)

Así que el script convierte estas cadenas de fecha aPOSIX.ct. A continuación, hace una conversión de zona horaria utilizandoformat (z es una variable que representa la TZ a la que estoy convirtiendo). Entonces hago un regularxts Llame para hacer de esta una serie xts con el resto de los datos en el csv.

Esto funciona al 100%. Es muy, muy lento. He intentado ejecutar esto en paralelo (no hace nada; en todo caso lo empeora). ¿Qué quiero decir con 'lento'?

 user    system   elapsed 
155.246  16.430 171.650 

Eso es en un 3GhZ, 16GB ram 2012 mb pro. Puedo obtener aproximadamente la mitad de eso en un procesador similar con 32GB de RAM en una máquina Win7

Estoy seguro de que alguien tiene una idea mejor: estoy abierto a sugerencias a través deRcpp Sin embargo,idealmente, la solución funciona con csv en lugar de algún otro método, como configurar una base de datos. Dicho esto, estoy dispuesto a hacer esto a través de cualquier método que vaya a dar la conversión más rápida.

Estaría muy agradecido por cualquier ayuda. Gracias por adelantado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta