The fastest thing you can do is make a dedicated partition and read and write it directly. This is very simple (open(), read(), write(), seek(), etc). I typically dedicate the first 1024 blocks to storing info about the files. I use one block per file and the first block stores info about the number of files stored. Something like this:

block0000[0]=10  //10 files
block0001[0]=1024; //file 1 starts at block 1024
block0001[1]=1001023; //file 1 ends at block 1001023 (for a total of 512 megabytes as each block is 512 bytes)

.....

block0010[0]=xxx //file 10 starts at block xxx
block0010[1]=xxx //file 10 ends at block xxx

This gives you a very fast simple sequential file system.

If you only need to use one file you could dd it to the partition. In your code use open() to open the partition and read() the data. If you want to test to see if a dedicated raw partition is going to be fast enough you can use dd with /dev/zero or /dev/null to test sequentially read and write speed. You can vary the read/write size in dd to figure out the optimal read or write size.

-Jim




_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to