Muchas gracias por sus tests.
Pues creo que tiene vd. razón.
Yo mismo he hecho mis test sencillos y arrojan tiempos sorprendentemente bajos para ~ 125 mb
Este es mi codigo:
Thank you very much for your tests.
I think you are right
I myself have done my simple tests and throw surprisingly low times for ~ 125 MB
This is my code:
- Code: Select all Expand view
- function Data2Csv()
Local nI
Local cLin:= ""
Local cFull:= "\Tmp\articulos"
Local cIni
Local nRecords:= 0
Local nFCount
msginfo("Empezando")
cIni:= Time()
nH:= FCreate(cFull+ ".csv")
select 0
use (cFull)
nFCount:= FCount()
go top
do while !Eof()
FOR nI:= 1 TO nFCount
cLin+= Transform(FieldGet(nI), "")+ ";"
IF nI != nFCount
cLin+= ";"
ENDIF
NEXT
FWrite(nH, cLin)
nRecords++
cLin:= ""
SKIP
enddo
FWrite(nH, cLin)
FClose(nH)
CLOSE
mMsgInfo("Time End "+ Time()+ CRLF+ "Time Init "+ cIni+ CRLF+;
"Records "+ Transform(nRecords, "")+ CRLF+;
"Fields "+ Transform(nFCount, "") )
RETURN NIL
Manuel,
Voy a buscar en mi codigo que cosas estan consumiendo el tiempo.
La rutina de sutff para una cadena estará bien, pero creo que para mi es más importante encontrar donde se ralentiza el proceso realmente.
Gracias a todos por vuestro interés.
Volveré a decir más cuando tenga mas información.
Saludos.