On Wed, Mar 2, 2011 at 10:59 AM, Michael D. Berger m_d_berger_1900@yahoo.com wrote:
I have a C++ program that opens, gets a little data from, and closes about 5000 files. Now if I run the program when I first boot up, the running time is from about 10 seconds to a minute. Subsequently, the program runs in well inter one second. Buffering -- right?
So I changed a parameter, so the program gets a different (albeit similar) 5000 files from a different directory. Running time on the first try: well under one second.
How about that?
[~]$ uname -a Linux xxxxx 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:53:09 EST 2011 i686 i686 i386 GNU/Linux
Buffering, certainly.. but maybe on several layers. The physical disk may have a read ahead cache. The OS may also buffer.
You may also be pulling in libraries on the initial run which stay resident for awhile..