Well, essentially what I am trying to do is compare continuous write and random write on different media types.
I also did this to test writing with seeking to different positions first.
# foreach (1 .. 1024)
# {
# syswrite(DEV, 'L' x 1024, 1024);
# }
# $MCounter++;
# printf("\r %f MiB", $MCounter);
# if ($MCounter >= 100)
# {
# close(DEV);
# exit(0);
# }
# sysseek(DEV,(1024*1024*2), 1);
# print("\nJumping 2mb\n");
This is giving me frustrating results as my cf card is 100x, my drive is sata, and my usb stick unknown speed.
Here are the results:
Continuous write, 100 mb:
Image stored on a filesystem: 26.964s
100x CF Card: 36.572s
USB Stick: 1m28.938s
Disk Partition: 2.599s
Random write (write 1mb, skip 2mb, loop)
Image: 21.111s
CF: 49.917s
USB: 1m29.354s
Partition: 2.832s
As predicted the random write took longer... but my understanding was that for short random read/write operations flash media was supposed to be faster because of a hard drives slow seeking. Then again I am addressing a continuous 300mb section, just skiping 2mb each time, so I guess I should re-think this experiment to really jump around both directions....