View Single Post
Posts: 6 | Thanked: 0 times | Joined on Jan 2007
#4
Thanks for testing.

It doesn't look too good. At best only about 3MB/s write speed.

Couple points:
You can use the "time" utility for getting accurate duration measurements. Use: "time cp X Y"

When using 64M file most (or at least some) of it are probably still in cache when copy finishes. I wonder if there is any good way to bypass caching for testing purposes.

Creating file in internal memory
time dd if=/dev/zero of=64 bs=1k count=64k
1. try: real 0m 53.52s
2. try: real 0m 53.48s

time dd if=/dev/zero of=64 bs=4k count=16k
1. try: real 0m 14.98s
2. try: real 0m 15.02s

time dd if=/dev/zero of=64 bs=8k count=8k
1. try: real 0m 14.83s
2. try: real 0m 14.77s

time dd if=/dev/zero of=64 bs=16k count=4k
1. try: real 0m 15.58s
2. try: real 0m 15.72s

time dd if=/dev/zero of=64 bs=32k count=2k
1. try: real 0m 14.94s
2. try: real 0m 14.80s

It seems quite clear from this that SD's block size is 4k.

Testing with Transcend 150x card in external slot:

time dd if=/dev/zero of=64 bs=4k count=16k
1. try: real 0m 9.86s
2. try: real 0m 11.06s

time dd if=/dev/zero of=64 bs=8k count=8k
1. try: real 0m 9.88s
2. try: real 0m 10.13s

So write speed is about 6.4MB/s.

With bigger block sizes the speed about same withing error margin.

Lets try with bigger file size to try to see if cache effects this simple test:

time dd if=/dev/zero of=256 bs=64k count=4k
1. try: real 0m 42.93s
2. try: real 0m 42.58s

About same speed.

How about read speed:

On Transcend 150x

time cp 256 /dev/null
1st try: 0m 35.13s
2nd try: 0m 34.05s

Not much faster: 7.3MB/s

Bottom line using very simple DD-write and copy test:

Transcend 150x
Write speed: 6.4MB/s
Read speed: 7.3MB/s

- J