[Galaxy S I9000 General] bofh999:
Allright i think i have to cleanup some tales :)

First of all Fragmentation - yes Flash get fragmentet too of course it does

Fragmentation is on the Softwarelayer

Since everyfilesystem uses cluster to organize data every kind of storagedevice can be fragmented

But on a Flashdrive it has way less impact than on a Harddrive

and Fragmentation itself - on the Hardwarebase has never so much impact to Produce lags

BUT it depends how the Filesystem / Kerneldriver handles files and cluster

its quiet possible that older RFS has a poor implementation if a file reside on many different cluster - so that lags can occur

so its not the acces to another inode/cluster directly mroe the handling wihting the driver

So about ext4:

Ext4 IS NOT widly used on linux server - actually most production server use ext3 or another filesystem - ext4 is too young for real prof. production systems

ext2 is the same as ext3 but without journaling and way faster

ext4 is also not the superfast filesystem - its more a robuts - every purpose filesystem (not good at anything but not bad)

if you have only reads (like /boot on linux you use ext2 not ext4 no befenefit of 4 here but ext2 is faster and way smaller overhead)

real production systems also use many different filesystems depending what the use for - you use different for a database partition than you use for large read only filestorage and ext4 for normal userspace readwrite partition....

So its not nesserly better use ext4

I have to addmit i lack a bit of knowlege how exactly dataacces on the databasefiles is done by android. But its defently not a normal readwrite operation like on a regular harddisk

everything is store in .db files - litesql

so the chances are great - almost at 100% that theres not much befenfit of jounaling at all

i dont know how the litesql on android exactly write data but normaly it should be like

application sends for example 10 sms to store -

so it will make a sql lite insert those 10 records (or dont know 10 times a insert)

sql gose row by row - storing next - storing next ....

in that case its unlikly you loose more data on rfs or ext2 than you loose on ext4

either if the record is already written - its done

if not its lost in both cases cause its still in the process of sqllite

its not a regular opend file its a bit different

of course dataloss is possible but i think not such a big thing as it wouldwith regular files

on a windows workstion for example files written or closed not nessesarly really closed - if you active high performance write its even worse - then even a journaling filesystem do not prevent dataloss

From my point of view - it doenst matter

its a mobile device - data should be synced or backup regulary and steady anyway

and the chance for a loss is very thin

you need a total systemcrash and batteryremoval on purpose

actually a android is in that manner a stonishing stable device - with buiold in batterybackup lol

it will ****down bevore energy is out

it will shutdown correctly if you turn it of

it barly crashes so badly that you need to remove battery

so i cant see a benefit of a journaling filesystem - and yes journaling has a way bigger overhead - is slower - and use way more discspace and memory

about benchmarks - those numbers are for fun but nothing more

a real benchmark has to consider more that copy data

regular you have to test and compare both FS in different conditions at least for the following

read squentially

read random

write seq

write random

verify

butterfly

each test with -

verysmall files (few k)

medium

bigger

big

very big (1 gig)

both test to see best result over the hole space - means

use all free memory to fill with testfiles and let it test for the hole drive

a good testprogramm can also save which accestime and datatransfer on which sector occurs (would be very interresting to see) unfortunate im not awayre of any compatible test software)

also in the realworld we should have sqllitle access only (almost only i think only a few things are stored outside sqllite like attachments)

so here it should be optimized for sqllite and nothing else