Re: fopen and memory usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> No, it doesn't. What purpose would that serve?  It will cost you a
>> buffer
>> for the I/O (perhaps 8192 bytes) and a FILE control structure.
>
> If I remember rightly its nearer 64K nowdays simply because disks are
> faster, memory is cheaper and its a good buffer size.
>
> Basically the C library will make an intelligent decision on buffering
> which you should assume is right exept in very special cases. That value
> may change depending on library version, kernel, system memory, OS and a
> million other things but its there in the library to save you having to
> worry about it in the app.
>
> If you need to do specific buffering see "man setbuf"

Thank you for your replies.  I think I have a clear understanding of what
is going on but let me air what I think, then you can tell me how stupid I
am.  :)

Okay, so I use fopen and it gives me a stream.  Now when I call fread (say
for 100K) on my large file (2G) it will try to read the first 64K
regardless of size and populate *ptr.  If size is larger than 64K (100K
here) it will then read another 64K?  Does it use the same buffer space
(effectively only using 64K) and is that buffer space outside the memory
footprint of my application?

Again, thank you for all of your help.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux