2005-05-20 09:14:50

by sylvanino b

[permalink] [raw]
Subject: questions about system function: mmap / fwrite

Hello,

I have a question about ways of accessing a file.

I know it is possible to use: fseek + fwrite/fread to access a file.
and It is also possible to map file in memory with "mmap" function,
and access it by adressing memory.

Currently I use the frame buffer of mobile phones with mmap function.
For my understanding, I would like to know what is the difference
between using fseek+fwrite compared to mmap style.
Dont hesitate to be precise or to use technical terms.

Thanks you,

Sylvanino


2005-05-20 09:30:26

by Helge Hafting

[permalink] [raw]
Subject: Re: questions about system function: mmap / fwrite

sylvanino b wrote:

>Hello,
>
>I have a question about ways of accessing a file.
>
>I know it is possible to use: fseek + fwrite/fread to access a file.
>and It is also possible to map file in memory with "mmap" function,
>and access it by adressing memory.
>
>Currently I use the frame buffer of mobile phones with mmap function.
>For my understanding, I would like to know what is the difference
>between using fseek+fwrite compared to mmap style.
>Dont hesitate to be precise or to use technical terms.
>
>Thanks you,
>
>
There may be subtle performance differences, but I'd say the most
important here is to use the API that best suits the problem at hand.
fwrite/fread is sequential in nature, useful when you want to read/write
large contigous chunks of data, and when the notion of a "current position"
in the file is useful.

mmap is nice when you find it useful to access the file as a random-access
array of bytes. mmap style access seems to be the best fit for a
framebuffer.

Helge Hafting

Helge Hafting