[physfs] mmap'ed files
Ryan C. Gordon
icculus at icculus.org
Tue Feb 7 12:23:56 EST 2012
On 02/06/2012 03:05 PM, fungos wrote:
> I think that mmap'ed files aren't implemented on 2.0.2 right?
No.
We can't offer an mmap()-like API for accessing files, because it
wouldn't be helpful for files inside archives that might be stored as
compressed data.
While we _could_ mmap() an entire archive behind the scenes, it's not
really safe to do so unconditionally, because a multi-gigabyte .zip file
would eat all of the address space of a 32-bit process.
The best bet here might be to mmap() smaller files behind the scenes (or
mmap() everything in a 64-bit process). Alternately, the 2.1 branch lets
you supply your own i/o implementations, so you could use
PHYSFS_mountIo() to load an archive and work out of an mmap()'d buffer.
All that being said: we don't really load a whole archive to
RAM...mostly we read small pieces from it as necessary, so it's not
necessarily much of a drain on system resources to _not_ mmap it.
--ryan.
More information about the physfs
mailing list