View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
joel[_592_] joel[_592_] is offline
external usenet poster
 
Posts: 1
Default Speeding up the importing of data from file


He is some more info on reading files

1) You don't read into a string. You are using an I/O function in the
windows operating system that may not read the entire file at once.
that is why you are able to read more the 64K

2) Windows when it opens a file doesn't different things depending on
the amount of memory in your computer and the size of the file.
a) You computer has some very fast memory and Windows tries to
put the entire file into that memory. This takes time to move a large
file in to this memory from a slower hard disk so it is done in the
background on large files so your program can continue to run.

b) Part fast memory is a I/O buffer that you program directly
uses and is controller by VBA. Windows will detect when the I/O buffer
empties windows will fill the buffer with more data from the file. I'm
not sure what the buffer size is today (haven't looked in a while) but
used to be around 64K bytes.

B) But it must share that memory with other process. So
depending on the size of the file some of the file may get moved to swap
space in slower memory or even back intp swap space on the hard drive.

3) Reading a file sequentiually (one line at a time) is slow but
requires only a small amount of memory *the I/O buffer)

4) Using the Scripting.FileSystemObject object the is a method READALL
that will read the entire file in one statement. This could speed up
that program, or slow it down. Reading the entore file could put some
of the data into swap space on the hard drive. I haven't had the need
to in years at analysing all the combinations of events to give an
accurate accounting of what wil happening today on your computer with
the size of the file and the amount of memory in your computer. I just
understand very well the theory!


--
joel
------------------------------------------------------------------------
joel's Profile: 229
View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=172880

Microsoft Office Help