Problem parsing data in Gigabyte size text files

Alejandro Tejada capellan2000 at yahoo.com
Wed Jul 4 19:02:33 EDT 2007


Hi all,

Recently, i was extracting data
from a 8 gigabyte ANSI text file
(a XML customer database), but after
processing approximately 3.5 gigabyte
of data, Revolution quits itself and
Windows XP presents the familiar dialog
asking to notify the Developer of this
error.

The log file that i saved, while using
the stack, shows that after reading character
3,758,096,384 (that is more than 3 thousand million 
of characters) the stack could not read anymore
into the XML database and start repeating the
same last line of text that it reads.

Notice that i checked the processor and memory use 
with Windows Task Manager and everything was normal.
The stack was using between a 30 to 70 % of processor
and memory use was between 45 MB and 125 MB.

The code used is similar to this:

repeat until tCounter = 8589934592 -- 8 Gigabites
read from file tData from char tCounter for 10000
-- reading 10,000 characters from database
-- these character are placed in the variable: it
put processDATA(it) into tProcessedData
write tProcessedData to tNewFile
put tCounter && last line of it & cr after URL tLOG
add 10000 to tCounter
end repeat

etc...

I have repeated the test at least 3 times :((
and the results are almost the same, with a small
difference between the character where stack quits,
while reading this 8 Gigabyte size XML database. 

I have checked for strange characters in that part of
the database, when i splitted the file in many parts,
but have not found any.

Every insight that you could provide to process
this database from start to end is more 
than welcome. :)

Thanks in advance.

alejandro


Visit my site:
http://www.geocities.com/capellan2000/


 
____________________________________________________________________________________
Sucker-punch spam with award-winning protection. 
Try the free Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/features_spam.html



More information about the use-livecode mailing list