3rd edition MMC writes take 50 times as long as writes to internal memory

We’ve had great problems running Jaiku from an MMC with acceptable performance. Symbian Signed requires you to only store data on the drive your application is installed to. Jaiku keeps a large number of small data items which are fairly frequently updated, stored in a Symbian database.

To get a better understanding of what the performance is actually like, I hacked the good old Bonnie disk benchmark to run on Symbian. Basic result: small writes to the MMC take 50 times as much time as to the internal memory.

In the table below, Block size is 1 KB. Rewrite actually writes only 1 byte per block but counts the throughput as full blocks. The absolute figures are likely to depend heavily on my implementation, but the relative performance should be quite reliable. The machines are Model-Disk, so N80-C means N80, internal memory, and N80-E means N80, MMC.

              -------Sequential Output-------- ---Sequential Input--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU

N80-C      16   173  0.0   285  0.0   590  0.0   968  0.0  2855  0.0
N80-E      16     3  0.0    10  0.0   163  0.0   551  0.0  1254  0.0

5500-C      4    75  0.0    50  0.0    44  0.0   780  0.0  1700  0.0
5500-E      4    11  0.0    16  0.0   133  0.0   391  0.0   747  0.0

N73-C      16   158  0.0   285  0.0   519  0.0   977  0.0  3048  0.0
N73-E      16     2  0.0     5  0.0   144  0.0   544  0.0  1274  0.0

E70-C      16   223  0.0   442  0.0   657  0.0  1004  0.0  3085  0.0
E70-E      16     5  0.0     5  0.0   161  0.0   552  0.0  1282  0.0

The exact details of the phones and memory cards are:

  • N80: V 4.0623.0.42, 20-09-2006, RM-92, Nokia N80 (03); Nokia 128MB MiniSD S128T
  • 5500: V 03.18, 07-09-06, RM-86, Nokia 5500 Sport; Nokia 64MB MicroSD C64T
  • N73: V.2.0628.0.0.1, 10-07-2006, RM-133, Nokia N73 (03); Nokia 64 MB MiniSD S64T
  • E70: V.1.0610.05.07, 30-05-06, RM-10 Nokia E70; Nokia 64MB MiniSD S64T
This entry was posted in Symbian. Bookmark the permalink.

6 Responses to 3rd edition MMC writes take 50 times as long as writes to internal memory

  1. Dima says:

    Hello, Mika!
    I have read you website and I want to say you big thanks! You are the real guy in Bluetooth Symbian programming! :)
    Can you give me small advice? I have task in my university but I can’t answer the question below.
    Can I write program which can enable “mode 1” for my mobile phone and accept in future all incoming connections in this mode (without pop-up checker window like “do you want to receive my-file.txt?”)
    Thanks for any help.

  2. Mika says:

    I haven’t tried to do that. Start by looking at the RBTSecManBasebandParameters class and others in btsecmanclient.h.

  3. Dima says:

    Great thanks!
    I’ll try to work on this problem. Can you specify one of your programs which transfers and accepts files from one mobile phone to another via Bluetooth?

  4. Mika says:

    Dima: you are not much into looking for things on your own, are you? At http://mikie.iki.fi/symbian/ there’s ‘Sending Bluetooth messages’, linking to http://mikie.iki.fi/lxr/source/ContextNetwork/src/cn_bt_obex.cpp#032 .

  5. Joane Marie says:

    i’ve read your site about symbian programming.. i’m an IT student and we now have our undergraduate thesis..our thesis proposal is all about remote mobile..we are currently looking for related literatures and hint of how to program this.. i would like to ask if you have other resources related to remote mobile..
    Your response would be really appreciated..
    thank you!

  6. pRozaCbuy says:

    The table looks terrible in Firefox