GCC-E and ARMCC compared

I finally got the ARM compiler evaluation CD and license today. Executive summary: code size down 30% (220 KB), and since that’s in compressed size my guess is that we are saving at least 400KB run-time memory consumption.

Code size with GCC-E, optimising for size

contextexpat.dll         size       41245
ContextNotify.exe        size       12709
contextnotifyclient.dll  size       14650
contextcommon.dll        size       73165
ContextServer.exe        size       22341
contextclient.dll        size        5418
blackboarddata.dll       size       38807
bbf200084BF.dll          size        3752
BlackBoardServer.exe     size       37302
BlackBoardClient.dll     size       19600
contextsensordata.dll    size       41278
contextsensors.dll       size       67359
bbf200084C2.dll          size        4476
contextcommsensors.dll   size        6313
ContextNetwork.dll       size       31886
ContextCommon2.dll       size       24204
contextUI.dll            size       25075
jaikuuikit.dll           size       19296
ContextContactsUi.dll    size      106666
jaikusettings.exe        size       44178
contextcontacts.exe      size       52026
cl_starter.exe           size        8616
contextwelcome.exe       size        6971
JaikuTool.exe            size        8428
total                    size      715761

Code size with ARMCC, optimising for size

contextexpat.dll         size       32210
ContextNotify.exe        size        7971
contextnotifyclient.dll  size        9503
contextcommon.dll        size       51096
ContextServer.exe        size       15153
contextclient.dll        size        2539
blackboarddata.dll       size       24688
bbf200084BF.dll          size        1293
BlackBoardServer.exe     size       26646
BlackBoardClient.dll     size       13678
contextsensordata.dll    size       21583
contextsensors.dll       size       46827
bbf200084C2.dll          size        1892
contextcommsensors.dll   size        2788
ContextNetwork.dll       size       23173
ContextCommon2.dll       size       16702
contextUI.dll            size       18663
jaikuuikit.dll           size       13256
ContextContactsUi.dll    size       73089
jaikusettings.exe        size       32944
contextcontacts.exe      size       38605
cl_starter.exe           size        6051
contextwelcome.exe       size        3922
JaikuTool.exe            size        5561
total                    size      489833

Contact ARM for pricing and purchasing. I think you get a better deal if you are a Symbian Platinum Partner and only need the compiler for Symbian.

This entry was posted in Symbian. Bookmark the permalink.

5 Responses to GCC-E and ARMCC compared

  1. Paul Todd says:

    You should also get a 15%+ minimum improvement in speed.

    And no, you do not get a better deal if you are a platinum partner (well we did’nt) and we bought 4 licences.

  2. Mika says:

    We have almost no CPU-bound code :-). Our performance depends almost purely on local IO and platform components.

  3. Riho says:

    I’m assuming that these v9. files. You should consider adding your UID to their names or bad things may happen :)

  4. ARM would not send us an evaluation CD since we are not Symbian platinum partner!?!

  5. Mika says:

    Just buy it if you need it :-/. It works and produces smaller code. You can buy floating licenses, so unless you are compiling really really often you only need like one license per 3 developers (since the license is only needed when actually invoking the compiler for a file). You may have to fix some code, since it has a slightly different subset of C++ it is strict about, but that’s life with C++.