The log below is for the test of writing 40 MB file. My questions are
1) Why does it take much longer for YAFFS2 to write the same 40 MB file compared to JFFS2?
2) After writing the file, I remove the file and write it again. Why does it take much longer?
At the moment, I can only think of one reason. JFFS2 compressed the data before writing to flash, so for
1) JFFS2 writes much less data and it takes less time.
2) After deleting the file, eraseing the flash is deferred to the subsequent writes. Because YAFFS2 data is uncompressed, it takes more time to erase more data.
For YAFFS2:
# time ./write_fs 41943040 1
real 0m39.000s
user 0m1.130s
sys 0m37.850s
# ls /mnt
02800000_0 lost+found
# rm /mnt/02800000_0
# time ./write_fs 41943040 1
real 0m56.710s
user 0m1.120s
sys 0m55.590s
# rm /mnt/02800000_0
# time ./write_fs 41943040 1
real 0m57.810s
user 0m1.070s
sys 0m56.740s
# rm /mnt/02800000_0
# time ./write_fs 41943040 1
real 0m55.740s
user 0m1.110s
sys 0m54.630s
For JFFS2:
# time ./write_fs 41943040 1
real 0m9.940s
user 0m1.130s
sys 0m8.810s
# rm /mnt/02800000_0
# time ./write_fs 41943040 1
real 0m9.940s
user 0m1.150s
sys 0m8.780s
# rm /mnt/02800000_0
# time ./write_fs 41943040 1
real 0m10.510s
user 0m1.040s
sys 0m8.900s
---------------------------------
All-new Yahoo! Mail - Fire up a more powerful email and get things done faster.